本文将继续来探讨Wordpress数据库查询的相关话题。文一里,我们知道了WP各个基准页面所需的数据库查询量。文二中,我介绍了利用WP自带技术实现降低数据库查询或读取次数的方法,将此法应用于模板中,可在不影响互动前提下,降低模板的数据库查询次数。如果您想了解下到底是那些函数或插件在消耗这些数据库查询呢?以及每个查询WP都从数据库中读什么东东呢?本文将帮您揭开这些问题的谜底。

照旧,一切都是利用WP自带技术的。继续拿起铲子,深挖WORDPRESS。

阅读全文



Updated: 2008-07-26,更新Hook代码

续上文,通过WordPress基准页面数据库查询次数统计,让我们对WP运行各页面所需最少查询数有个基本了解。分析这些基准页面所需的数据库查询次数的目的当然是想减低它们,以提高WP运行效率了。本文将就如何不借助外部方法,仅利用Wordpress自带技术来减少Wordpress数据库查询次数和提高运行效率,谈谈我的个人做法和思路。欢迎拍砖。本文假设阅读者应了解WP的基本知识,并能操作简单的PHP代码。

要想减少数据库的查询次数,首先要对模板进行分析,了解到模板中的哪个部分功能需要调用数据库,以及哪些些插件需要读写数据库。然后在此基础上,再来分析下减少的可能性。此文主要以模板为例,插件部分暂且不谈。以ThinkAgain现用模板为例,来分析下页面中的哪几个部分需要读取数据库。如在首页的最新留言,最新存档,目录树和标签云等这些都需要从数据库中读取相应的数据,至于日历,WP已经内置了缓存。进一步考虑下,这些东西在未有新事件前,(如新留言或新文章发布等),每次加载页面读取数据库并生成的html代码的内容都是一样的,既然如此有必要在每次加载页面时,重复这些事情,如果能将这部分内容缓存起来岂不就可以减少数据库读取次数以及提高WP运行效率了吗?OK,这个就是我对精简数据库查询次数的主要思路之一。当然,接下来要解决如何实现缓存问题以及自动更新的问题。

阅读全文

看了下面这张抓图,你就知道我为什么要做这个统计了。

数据库查询次数

昨晚上在DH的Panel里面查看站点运行情况报告,真可谓,不看不知道,一看吓一跳。竟然看到里面报告19日当日的数据库连接高达6000多次,数据库查询多达19万次。由于报告中的日期并不连续,少了16,17和18的数据。所以我估计19日的数据可能是这几天数据利用情况的合计值吧。以15日为例,当日的连接次数和查询次数也分别高达2607和78922。所以且不管这是当日统计或是多日的合计,总之,给我一个印象就是一个字,

阅读全文