从类别中获取帖子的速度较慢

时间:2014-05-24 作者:quyet

我的博客有70多万篇文章,我的分类结构如下:

猫1(ID:3)

  • 猫2(ID:4)
  • 猫3(ID:5)
  • 第20类(ID:22)
      • 我使用以下SQL语句获取文章:

        SELECT ID FROM apk_posts INNER JOIN apk_term_relationships ON (apk_posts.ID = apk_term_relationships.object_id) INNER JOIN apk_term_taxonomy ON (apk_term_relationships.term_taxonomy_id = apk_term_taxonomy.term_taxonomy_id)
        WHERE (apk_term_taxonomy.term_id = IN (2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22)
        AND apk_term_taxonomy.taxonomy = \'category\') ORDER BY apk_posts.post_date DESC LIMIT 10;
        
        因此,查询速度非常慢(大约3 seconds).

        如何加快查询速度?

    1 个回复
    SO网友:markratledge

    我的博客有70多万篇文章。。。

    您需要查看您的Web主机和服务器。WordPress是完全可扩展的,但您需要硬件来备份它。这是一个数据库密集型查询,您需要MySQL服务器来处理它。

    运行mysqltuner。pl公司https://github.com/major/MySQLTuner-perl 在my中检查MySQL配置并调整缓存和内存设置。cnf。

    结束

    相关推荐

    我应该在插件的任何函数范围之外全局$wpdb吗?

    我知道对全局变量的一般建议是根本不要使用它们。不过,在使用Wordpress数据库时,需要执行以下操作global $wpdb; 访问Wordpress提供的与数据库交互的方法。现在,我编写了一个小插件,它引入了几个需要与Wordpress数据库交互的函数。也就是说,在我写的每个函数中global $wpdb;. 之后,我动态构建所需的表名:$wpdb->prefix . \'my_table_name\';.在我看来,这是大量冗余代码,甚至可以产生更多的工作。例如,我在开发过程中更改了几次表名,在