执行更多或更复杂的SQL查询,或使用PHP过滤数据


Execute more or complicated SQL queries, or use PHP to filter data?

我正在构建一个PHP应用程序,它将获得大量的流量。我一直在学习应该限制SQL查询的数量(现在大约是每个访问者15个)。我可以将其限制在一半左右,使用PHP对数据进行过滤和排序,但这样会更快吗?或者,我可以在查询中使用"JOIN"来减少查询的数量,但是这真的比执行多个查询更快吗?谢谢!

如果每个访问者有15个查询,那么你很可能做错了什么,除非你的应用程序非常大。

使用PHP代替MySQL对数据进行排序和筛选

在PHP中进行排序和过滤不会使你的应用程序更快,它肯定会使它变慢,MySQL在给定正确的索引的情况下被优化得非常快,所以你当然应该在可能的时候使用它。

了解数据库索引,它将使您的生活更轻松,并提高应用程序的性能。这是一个链接: http://www.mysqltutorial.org/mysql-create-drop-index.aspx

合并与多查询

你问使用join是否会比执行多个查询更快。

答案是肯定的,给定正确的索引,使用join总是更快。这又回到了第一个主题,索引。

但是,请记住,连接的效率取决于您的设置,如果操作正确,它将非常有效,如果操作错误,它将非常缓慢,所以您必须了解正确操作的基本知识。

你可以在这里查看join的介绍:

http://blog.sqlauthority.com/2009/04/13/sql-server-introduction-to-joins-basic-of-joins/