Sql 查询花费太多时间

Sql query taking too much time

我在数据库中有两个表 wp_rg_lead_details 和 wp_service_request。 我的查询是:

$results1=$wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id in ( SELECT entry_id FROM wp_service_request)  and  form_id =1 AND field_number  in (1,39,2)");

当我 运行 这个查询时,它花费了太多时间导致页面超时。 内部查询单独执行时运行ning成功。

两个表中大约有12000条记录。我应该如何优化它以便我的页面加载速度更快?

尝试单独运行内部查询,然后使用其结果来获取 主查询中的数据。 试试这个

$results=$wpdb->get_results("SELECT entry_id FROM wp_service_requests");

$flag = 1;
$str = "(";
foreach ($results as $result) {
  if($flag ==1)
  {
    $str  = $str . "'" . $result->entry_id . "'" ;
    $flag=2;
  }
  else 
  {
    $str = $str . ",'" . $result->entry_id . "'" ;
  }
}

$str .=  ")";


$results1=$wpdb->get_results("SELECT * FROM wp_rg_lead_detail WHERE lead_id in " . $str ."  and  form_id =1 AND field_number  in (1,39,2)");

如果您不需要 "wp_service_requests" 的完整数据,我建议您尝试使用过滤器来最小化数据。