网站公开了一个URL地址列表,第二个网站定期查看此列表,其目的是告知是否有任何新地址出现在那里。该列表正在“移动”,这意味着新地址逐渐出现,但旧地址消失。
第二个网站将地址存储在数据库中以供比较。问题是 - 如何更快地做到这一点,速度是关键。
OR
我这样想 - 这些URL地址可以任意长,在数据库搜索似乎保证数据库负载线性增加时,将它们转换为CRC32,从数据库中搜索/删除它们。
另一方面,在PHP级别将它们转换为CRC32字符串会给http服务器带来更多负担,问题是 - 在sql查询的WHERE子句中使用整个事件比在整个sql查询中使用整数更快吗?
顺便说一句。是的,CRC32对我的用例有足够的独特性。
答案 0 :(得分:1)
在您的描述中,您似乎总是用新列表替换数据库,因此最好使用原始字符串。 无论如何,如果表被索引,性能改进将小于几乎每个现代数据库中将字符串转换为int的开销。
答案 1 :(得分:1)
如果索引不是一个选项,我建议您查看xxhash
但我不得不说我真的不知道是否有一个快速实现的PHP。