如何更好地优化我的PHP和MySQL查询?

时间:2013-08-01 05:47:07

标签: php mysql

我有一个我正在研究的网站,一切正常。我担心在负载下我当前正在做的事情可能会导致一些服务器滞后。

在数据库中,我有一个包含大量信息的表(14列以上,数百个条目)。 PHP页面上有一个脚本来生成页面链接(第1页,共6页,下一页,上一页,第一页,最后一页等)。它目前每页显示25个条目。该脚本将页码乘以25,以获得表中需要为select启动的条目。

我不认为那太可怕了。真正的问题来自于“Page x of y”。这意味着我需要知道将有多少页的项目,或者25个条目的数量。我通过使用类似的东西来完成这个:

SELECT count(id) FROM `footwear`

只获取表格中的条目数。然后使用该计数我可以计算我的所有页面。这是最有效的做事方式吗?或者也许有更好的方法来计算页数?

3 个答案:

答案 0 :(得分:1)

确保你在id上有一个索引,它在MySQL中会非常快。

如果你怀疑它很慢,你可以随时测量它以使你平静下来。

答案 1 :(得分:1)

如果您正在使用MyISAM,那么您没问题,如果您使用InnoDB作为存储引擎,您可能希望缓存行数或将其存储在单独的表中,原因是MyISAM将保留记录表上的行数,但每次进行查询时InnoDB都会计算所有行。

我希望这会有所帮助。

答案 2 :(得分:1)

我可能会建议在MySQL中使用查询缓存来提高一般性能。

以下是启用该指南的指南:http://www.cyberciti.biz/tips/enable-the-query-cache-in-mysql-to-improve-performance.html