我正在编写一个相当简单的 webapp,它从 mysql 数据库的 3 个表中提取数据。因为我不需要大量的高级过滤,所以理论上构建大型多维数组然后在其中工作似乎比尽可能执行 mysql 查询更快。
理论上,我可以只对每个表进行一次查询,然后用结果构建大型数组,基本上不需要再次查询该表。这是一个好的做法,还是只在需要时查询数据更好?或者是否存在某种平衡,如果有,它是什么?
最佳答案
PHP 数组可以非常快,但这取决于那些表有多大,当数字变得巨大时 MySQL 会更快,因为有了正确的索引,它不必扫描所有数据,但是只需选择您需要的即可。
我不建议你尝试你的建议,MySQL 有一个查询缓存,所以重复的查询甚至不会命中磁盘,所以在某种程度上,你正在考虑的优化已经完成了。
最后,正如 Chris 所说,永远不要在不需要的时候考虑优化。
关于好的做法,一个好的做法是编写最简单(且易于阅读)的代码来完成这项工作。
如果最终您决定应用优化、分析性能,您可能会对意想不到的结果感到惊讶。
关于PHP/mysql - 查询与数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8280861/