我正在构建一个可以获得大量流量的PHP应用。我一直都知道我应该限制SQL查询的数量(现在每个访问者大约15个)。我可以将此限制为大约一半,使用PHP过滤和排序数据,但这会更快吗?或者,我可以在查询中使用“JOIN”来减少查询数量,但这实际上比执行多个查询更快吗?谢谢!
答案 0 :(得分:5)
如果每个访问者有15个查询,那么除非你的应用程序非常大,否则你很可能做错了。
使用PHP对数据进行排序和过滤而不是MySQL
在PHP中进行排序和过滤不会使你的应用程序更快,它会让它变得更慢,MySQL会根据正确的索引进行优化,因此你应该尽可能地使用它。
了解数据库索引,它将使您的生活更轻松,并提高应用程序的性能。这是一个链接:
http://www.mysqltutorial.org/mysql-create-drop-index.aspx
加入与多个查询
您询问使用join是否比执行多个查询更快。
答案是肯定的,在给定正确的索引的情况下使用join的速度总是更快。这也回到了第一个主题索引。
但是,请记住,加入的效率与您实现的效率一样,如果做得正确则会非常有效,如果做错了会非常慢,所以您必须了解基本要做才能做到。
您可以在此处查看加入的简介:
http://blog.sqlauthority.com/2009/04/13/sql-server-introduction-to-joins-basic-of-joins/