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" 的完整数据,我建议您尝试使用过滤器来最小化数据。
我在数据库中有两个表 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" 的完整数据,我建议您尝试使用过滤器来最小化数据。