如何改进基于 wordpress postmeta 的选择查询?

问题描述

我创建了一个函数,它使用元值从 postMeta 表中获取 post_id。在此之前,我使用 Learndash 的内置函数,并使用该函数我的数据库查询时间约为 3.2 秒。但是在编写我自己的函数后,我能够将它减少 0.4 秒。但我仍然认为它可以进一步优化,因为 Query Monitor 插件也将我的查询标记为缓慢。

截图:

Query Monitor Slow queries

我正在尝试提高以下代码的速度,并尝试了所有可能的解决方法和技术。

这是代码

public function ntml_question_pid_by_proid($Meta_value)
        {
            global $wpdb;

            $tbl = $wpdb->prefix . 'postMeta';

            $prepare_guery = $wpdb->prepare("
SELECT post_id 
  FROM $tbl 
 where Meta_key = 'question_pro_id' 
   and Meta_value like '%s'
",$Meta_value);

            $get_values = $wpdb->get_col($prepare_guery);

            if (is_array($get_values) && count($get_values) > 0) {
                return $get_values[0];
            } else {
                return false;
            }
        }

是否有一种解决方法可以将页面速度提高至少 2 秒?

我们也已经有了内存缓存。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)