gpt4 book ai didi

PHP + MYSQL 存储url,应该使用什么列类型和策略

转载 作者:行者123 更新时间:2023-11-29 01:49:48 25 4
gpt4 key购买 nike

对于网络爬虫,我将在一个表中存储超过 500 万个完整的 URL。我将需要经常检查该 url 是否不存在于表中。

哪种列类型和策略最适合提高性能?

  • 带有 varchar 和索引的 url。

或者

  • 带有散列(md5?)的第二个字符列并检查它。

或者完全不同的策略?

最佳答案

第二个选项。如果您需要检查 url 是否不存在,那么对 URL 的散列的 unique 约束是最佳方法。

md5,即使过时了,也适合您的用例,因为您有大约 500 万行,不太可能发生冲突。

对于列,使用 BINARY(16)。您可以将 UNHEX(MD5('your url here')); 存储到具有固定索引长度的 BINARY(16) 中。

md5 是 128 位,您不需要人类可读的表示形式,因此您可以保存“原始”二进制文件,这样可以将存储需求减半 - 因此 BINARY(16 ) 而不是 BINARY(32)

关于PHP + MYSQL 存储url,应该使用什么列类型和策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49388371/

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