MySQL错误“;查询执行被中断";查询完所有帖子后

MySQL错误“;查询执行被中断";查询完所有帖子后,mysql,sql,wordpress,Mysql,Sql,Wordpress,我在长搜索查询中使用查询帖子。 我的问题是: <?php $args = array( 'tag_slug__in' => $cat_id, 'posts_per_page' => 15, 'paged' => $page, 'meta_query' => array( array( 'key' => 'Пол', 'value' => $value_sex, 'compare' => 'EXISTS',

我在长搜索查询中使用查询帖子。 我的问题是:

<?php $args = array(  
'tag_slug__in' => $cat_id,
'posts_per_page' => 15,
'paged' => $page,
'meta_query' => array(  
array(  
    'key' => 'Пол',  
    'value' => $value_sex,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Английский',  
    'value' => $english,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Французский',  
    'value' => $france,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Немецкий',  
    'value' => $germany,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Итальянский',  
    'value' => $italy,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Испанский',  
    'value' => $spain,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Китайский',  
    'value' => $chine,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Длина волос',  
    'value' => $hair_length,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Цвет волос',  
    'value' => $hair_color,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Удобные дни работы',  
    'value' => $value_days,
    'compare' => 'EXISTS',
    'type' => 'CHAR',
),
array(  
    'key' => 'Удобное время работы',  
    'value' => $value_time,
    'compare' => 'IN',
    'type' => 'CHAR',
),
array(  
    'key' => 'Рост (см)',  
    'value' => array( $value_height, $value_height_max ),
    'type' => 'numeric',
    'compare' => 'BETWEEN',
),
array(  
    'key' => 'Размер одежды',  
    'value' => array( $value_dress, $value_dress_max ),
    'type' => 'numeric',
    'compare' => 'BETWEEN',
),
array(  
    'key' => 'Размер бюста',  
    'value' => array( $value_bust, $value_bust_max ),
    'type' => 'numeric',
    'compare' => 'BETWEEN',
),          
 )  
 );
?>

<?php query_posts($args); ?>

这段代码在新安装的wordpress中运行良好,但旧站点正在崩溃。 我在error.log中出现了“查询执行被中断”、“查询期间与MySQL服务器失去连接”和“MySQL服务器已离开”错误 俄语meta_查询中的键和值。我为我的英语感到抱歉。请帮忙


这可能是超时问题,在这种情况下,您应该修改my.cnf,或者您的mysql由于负载过大而变得无响应,在这种情况下,提高超时限制对您没有帮助


优化wordpress默认函数的空间不大,但您可以使用$wpdb->query()方法编写自己的查询,还可以查看帖子元数据的当前数据库索引。

在查询发布后插入这一行

<?php wp_reset_query(); ?>


是的,我有wp_reset_query();毕竟在网站上查询。我对wordpress不太了解,但即使在官方文档中也不推荐你使用这个功能。您是否在主循环中使用它?如果查询在执行中花费更多时间,则查询可能会超时。我不确定Wordpress,但也许他们有这样的功能