Suporte » Ajustando o WordPress » The SELECT would examine more than MAX_JOIN_SIZE rows

  • Pessoal, boa noite.

    Estou enfrentando um erro que impede a listagem de cupons (posts) na página inicial de uma instância do WordPress instalada em uma subpasta do meu site. http://descontostop.com/cupons/

    Percebi o erro após ter atualizado o WordPress para a versão 4.6.1, mas não tenho certeza se a origem do erro tem alguma relação com esta atualização.

    Somente os cupons marcados como “destacados” não são listados. Outras listas de cupons são exibidas normalmente, por exemplo: populares e novidades.

    Solicitei o suporte do desenvolvedor do tema, mas o mesmo afirma que não se trata de um problema do tema ou do WordPress.

    Já executei várias atividades para tentar identificar a origem do erro. Imaginando que poderia ser um conflito com plugins, desativei todos eles, mas ainda assim o erro persiste.

    Utilizando o WP_DEBUG, consegui obter o seguinte erro:

    Erro no banco de dados do WordPress: [The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay]
    SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) INNER JOIN wp_postmeta AS mt1 ON ( wp_posts.ID = mt1.post_id ) INNER JOIN wp_postmeta AS mt2 ON ( wp_posts.ID = mt2.post_id ) INNER JOIN wp_postmeta AS mt3 ON ( wp_posts.ID = mt3.post_id ) WHERE 1=1 AND ( wp_postmeta.meta_key = ‘code_type’ AND ( ( mt1.meta_key = ‘code_for’ AND mt1.meta_value = ‘all_users’ ) AND ( mt2.meta_key = ‘code_expire’ AND mt2.meta_value > ‘1476827583’ ) AND ( mt3.meta_key = ‘code_type’ AND mt3.meta_value = ‘1’ ) ) ) AND wp_posts.post_type = ‘code’ AND ((wp_posts.post_status = ‘publish’)) GROUP BY wp_posts.ID ORDER BY wp_postmeta.meta_value+0 DESC LIMIT 0, 80

    O desenvolvedor afirma que está usando as funções padrão do WordPress para consultar os posts.

    Alguém já se deparou com este erro ou poderia indicar a possível origem?

    Desde já, agradeço a atenção.

    Obrigado.

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • Criador do tópico Elvio Amaral

    (@gurudasmaquinas)

    Usando o plugin Debug Bar consegui o seguinte complemento abaixo da query envolvida no problema:

    require(‘wp-blog-header.php’), require_once(‘wp-includes/template-loader.php’), include(‘/themes/couponer/page-tpl_home.php’), coupon_get_list, WP_Query->__construct, WP_Query->query, WP_Query->get_posts

    Criador do tópico Elvio Amaral

    (@gurudasmaquinas)

    Pessoal,

    Consegui solucionar o problema.

    Usando as instruções deste post inseri a função abaixo no arquivo functions.php do tema:

    add_action('init', 'tribe_allow_large_joins');
    function tribe_allow_large_joins(){
    	global $wpdb;
    	$wpdb->query('SET SQL_BIG_SELECTS=1');
    }

    Código no GitHub https://gist.github.com/jazbek/6585714

    Obrigado.

    Abraços.

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘The SELECT would examine more than MAX_JOIN_SIZE rows’ está fechado para novas respostas.