多个元密钥,但获取服务器负载非常高

时间:2018-02-09 作者:Abhay Yadav

当我们有10多个元密钥时,我就可以百分之百地使用服务器。是否有任何选项可以优化查询。

 $meta_query = array(\'relation\' => \'AND\');
    foreach ($requestData as  $key => $value) {
        $meta_query[] = array(
            \'key\' => $value,
            \'value\' => \'1\',
            \'compare\' => \'=\'
        );
    }

    $args = array( \'post_type\' => \'healthcare\', \'post_status\' => \'publish\', \'posts_per_page\' => -1, \'meta_query\' => $meta_query);

    $loop = new WP_Query( $args );
    $total = $loop->found_posts;

1 个回复
SO网友:Milan Petrovic

需要查找大量元值的复杂元查询可能会很慢。您查询的每个元键都会在查询中生成一个以上的连接,如果您有一个大型数据库,那么它的速度可能会很慢。您可以尝试以下几件事:

优化您的数据库表,您可能有许多孤立的数据,这有助于提高数据库查询速度

  • 联系您的主机(如果您有访问权限,也可以自己做),查看MySQL慢速查询日志,了解查询速度慢的原因,并可能对MySQL服务器设置进行一些优化,以获得更好的缓存
  • 结束

    相关推荐

    使用新的WP-Query()从循环中过滤后期格式;

    嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post