我有一个wordpress安装,并更新到3.4.1。
升级后,我的wordpress出现了一个非常奇怪的减速。
毕竟,我用了
define(\'SAVEQUERIES\', true);
在我的wp配置中。php与我的主题页脚中的以下代码相结合。php
global $wpdb;
echo "<pre>";
print_r($wpdb->queries);
echo "</pre>";
我发现虽然我没有太多的查询(我得到了49个查询),但有
- 4个Quirs超过9英寸
- 3个Quirs超过8英寸
- 4个Quirs超过7英寸
- 4个Quirs超过6英寸
- 8个Quirs超过5英寸
/* Execution time 7.0095062E-5 */
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN (\'category\') AND tt.count > 0 ORDER BY t.name ASC
/* Execution time 5.3167343E-5 */
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN (77375,77379,77381)
/* Execution time 9.2029572E-5 */
SELECT wp_posts.* FROM wp_posts WHERE ID IN (77381,77379,77375)
在大多数查询中,查询都很简单,没有复杂性,我无法想象为什么查询会这么慢。WordPress数据库包含大约60000条记录,运行在percona上。
对这个问题有什么想法吗?我怎样才能解决它?
SO网友:markratledge
如果您有60000条记录,请尝试清理帖子/页面修订;这些确实会累积,并导致过长的查询。我已经看到,随着性能的大幅提高,数据库大小下降了90%。
在phpmyadmin中或从命令行运行以下查询,然后进行优化:
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = \'revision\'
还可以与您的网络主机交谈。也许MySQL或您的CPU正在被限制。