在query_posts之后发生MySQL错误“查询执行被中断”

时间:2013-09-28 23:06:58

标签: mysql sql wordpress

我在长搜索查询中使用query_posts。 我的问题:

<?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中很好用,但旧网站崩溃了。 我有“查询执行中断”,“查询期间丢失与MySQL服务器的连接”和“MySQL服务器已经消失”错误.log 俄语中meta_query的关键和价值。对不起我的英语。请帮忙。

link to error.log

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

将此行放在query_posts之后

<?php wp_reset_query(); ?>