很想知道哪个更快 - 如果我有一个包含25000个键值对的数组和一个相同信息的MySQL数据库,那么搜索速度会更快?
非常感谢大家!
答案 0 :(得分:5)
回答这个问题的最佳方法是执行基准测试。
答案 1 :(得分:1)
虽然您应该自己尝试一下,但我会假设有一个正确的索引,并得出结论,DB可以比PHP更快地完成它,因为它的构建就是全部。
但是,它可能归结为网络延迟,解析SQL与PHP的速度,或DB负载和内存使用百分比。
答案 2 :(得分:1)
要记住的一件事:如果您的搜索在数据库上占用大量CPU,那么即使它没有那么快,也可能值得在PHP中进行。在扩展时,通常比数据库服务器更容易添加Web服务器。
答案 3 :(得分:0)
测试它 - 分析一些简单的东西应该是微不足道的。
另外,请记住,数据库旨在处理这类任务,因此他们自然会擅长这一任务。即使是天真的二进制搜索也只有17个比较,所以25k元素不是很多。真正的问题是分类,但在过去的60多年里,它已被征服致死。
答案 4 :(得分:0)
这取决于。在mysql中,您可以使用索引,这将提高速度,但使用php,您不需要通过网络发送信息(如果在另一台服务器上的mysql数据库)。
答案 5 :(得分:0)
我的第一个想法是使用数组进行更快的搜索。但是,另一方面,它实际上取决于几个因素:
我假设您正在比较直接在数据库上执行的select语句和在php中的数组搜索。不是
答案 6 :(得分:0)
构建MySQL是为了有效地对大量数据进行排序和搜索,例如这样。当您搜索密钥时尤其如此,因为MySQL会对表中的主键进行索引。