我正在编写一个相当简单的webapp,它从mysql数据库的3个表中提取数据。因为我不需要大量的高级过滤,所以在理论上构建并在大型多维数组中工作似乎更快,而不是尽可能地执行mysql查询。
理论上,我可以从每个表中只查询一个,然后用结果构建大型数组,基本上不需要再查询那个表。这是一个好的实践,还是在需要数据时只查询它更好?或者有某种平衡,如果有,是什么?
最佳答案
php数组可以非常快,但这取决于这些表有多大,当数据变得很大时mysql会更快,因为有了正确的索引,它不必扫描所有数据,只需选择您需要的数据。
我不建议你尝试你的建议,mysql有一个查询缓存,所以重复的查询甚至不会击中磁盘,所以在某种程度上,你正在考虑的优化已经完成了。
最后,正如chris所说,永远不要在不需要优化的时候考虑它们。
关于好的实践,一个好的实践是编写完成工作的最简单(且易于阅读)的代码。
如果最终决定应用优化,分析性能,您可能会惊讶于意外的结果。