更新到3.4.1后数据库速度变慢

时间:2012-07-20 作者:KodeFor.Me

我有一个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上。

    对这个问题有什么想法吗?我怎样才能解决它?

2 个回复
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正在被限制。

SO网友:Damien

你是对的。。。性能应该没有问题,您的数据库my只需要对缓存进行一些改进。

你在跑步吗W3 Total Cache - 这对您的站点性能应该有直接的好处,如果您的服务器可以缓存数据库,您会希望它缓存数据库。

然后--拿一个backup of your SQL database 你也应该optimise & repair the tables.

结束

相关推荐

Query the links Database

您好,我正在尝试从一个在同一页上显示数据数组的“示例”wp\\U list\\U表转换为一个从数据库中提取数据的“真实”表。我有代码设置,我只需要添加DB查询就可以了。我只是不知道如何查询数据库并使其正确显示。有人愿意看看下面的代码并告诉我如何在wordpress中查询“links”数据库表吗?我认为下面的查询可以工作,但我认为它与我的“示例”表行和列不匹配。$sql = \"SELECT * FROM links\"; $data = $wpdb->get_results($sql);