首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加快缓慢的WordPress查询速度

加快缓慢的WordPress查询速度
EN

Stack Overflow用户
提问于 2018-09-03 22:59:13
回答 1查看 296关注 0票数 0

我已经写了一个自定义相关的空缺查询我的网站,使用插件可湿性粉剂作业管理器。在使用查询监视器时,我总是发现查询非常慢(5+秒)。

我已经实现了查询缓存,只是这需要查询至少运行一次。

有没有可能进一步提高这样的查询速度?

代码语言:javascript
复制
    $location = get_post_meta($id, '_job_location', true);
    $category = get_post_meta($id, 'job_category_wo', true);
    $args = array(
    'post_type'  => 'job_listing',
    'numberposts' => 5,
    'meta_query' => array(
        'relation' => 'OR',
        array(
            'key'     => '_job_location',
            'value'   => $location,
            'compare' => '='
        ),
        array(
            'relation' => 'AND',
            array(
                'key'     => '_job_location',
                'value'   => $location,
                'compare' => '='
            ),
            array(
                'key'     => 'job_category_wo',
                'value'   => $category[0],
                'compare' => 'LIKE'
            )
        )
    )
);
$postslist = get_posts( $args );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-04 00:48:52

在您展示的示例中,您将搜索符合此条件的帖子:

代码语言:javascript
复制
_job_location = $region OR _job_location = $region AND job_category_wo LIKE $category[0]

您可以将此表达式简化为:

代码语言:javascript
复制
_job_location = $region

布尔代数说(A) OR (A AND B)是多余的。它和简单的(A)是一样的。

这将排除OR操作,这对于SQL来说很难优化。

附言:我认为你的例子中还有其他错误。您设置了一个变量$location,但后来您使用了$region。到底是哪一个?

此外,您没有对任何值进行清理以防止SQL注入。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52152173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档