如何优化查询以避免mysql / php连接超时

时间:2016-02-25 18:10:13

标签: php mysql

我最近设计了一个php / mysql网站。

我在索引页面上使用了这个SQL查询

SELECT * FROM upload WHERE aid = '206' AND pin = '0' AND format like '%video%' ORDER BY created DESC

SELECT * FROM upload WHERE aid = '206' AND pin = '0' AND format like '%image%' ORDER BY created DESC    

SELECT * FROM upload WHERE aid = '206' AND pin = '0' AND format like '%image%' ORDER BY created DESC

我还没有大数据......可能是DB中的1000条记录。

但是当我加载页面时......加载需要8-20秒。

当我删除sal查询时,加载时间将是正常的。

请告诉我解决问题的最佳方法。

2 个答案:

答案 0 :(得分:0)

您正在使用3种不同的SQL查询来从同一个表中获取数据。

只使用一个SQL查询就可以获得相同的结果。

所以SQL查询应如下所示。

SELECT * FROM `upload` WHERE `aid` = '206' AND `pin` = '0' AND (`format` like '%video%' OR `format` like '%image%') ORDER BY `created` DESC

您可能有可能包含许多CSS,图像或JavaScript库。

您可以使用以下网站查看您的网页性能问题。

http://tools.pingdom.com/fpt/

答案 1 :(得分:0)

可能值得尝试加速的事情:

  • 为您的表添加适当的索引(或许aid应该是索引?)
  • 将这三个查询合并为一个查询(根据Ali Khanusiya的回答)
  • 为您的查询添加适当的LIMIT子句(例如LIMIT 1LIMIT 10)以获取结果的子集(您可以使用OFFSET对其进行分页结果)