gpt4 book ai didi

URL 的数据库索引

转载 作者:搜寻专家 更新时间:2023-10-30 19:58:34 25 4
gpt4 key购买 nike

我必须在数据库中存储数百万个 URL,并且能够通过 URL 快速查找行。

MySQL 的字符串索引对此不够快,因为它们只索引字符串的前 4 个字符,通常是 www.,然后MySQL 遍历以 www. 开头的每一行,并将值与我搜索的 URL 进行比较。

MongoDB 不允许您自定义为字符串编制索引的字符数,the docs aren't very detailed ,所以我认为 MongoDB 不适合。

Google App Engine 有一个特殊的 URL 类型,这很好,但我不能使用 GAE。

有什么建议吗?

最佳答案

MySQL's string indexes aren't quick enough for this, because they only index the first 4 characters of the string, which are generally www., and then MySQL iterates over each of those rows starting with www. and compares the value with the URL I searched for.

这不是真的。 MySQL 可为 MyISAM 索引最多 1000 字节,为 InnoDB 索引最多为 767 字节。

如果您只需要对您的 URL 字符串进行字面匹配,请索引它们的哈希值。

这将使您的索引大小保持较低(如果您使用 MD5 之类的东西,则每个键 16 字节)并且键值将均匀分布。

关于URL 的数据库索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4155061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com