WP_Meta_Query causando consultas MySQL de longa duração

Usei o seguinte WP_Meta_Query que consultou posts para um par de campos personalizados específicos.

$args=array( 'meta_key'=> 'tnid_01', 'meta_value'=>$tnid, 'post_status'=>'publish', 'post_type'=>'post', 'orderby'=>'date', 'order'=>'DESC', 'posts_per_page' => -1, ); 

Esta consulta funcionou sem um problema. Então eu queria procurar o mesmo meta_value “$ tnid” em uma segunda meta_key, com o seguinte código:

 $args=array( 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'tnid_01', 'value' => $tnid, 'compare' => '=', ), array( 'key' => 'tnid_02', 'value' => $tnid, 'compare' => '=', ), ), 'post_status'=>'publish', 'post_type'=>'post', 'orderby'=>'date', 'order'=>'DESC', 'posts_per_page' => -1, ); 

O código está funcionando, mas, infelizmente, meu servidor MySQL não pode lidar com as consultas quando o cache é reconstruído.

Agora às minhas perguntas:

Existe um erro na segunda consulta que causa os problemas mysql?

Existe uma maneira de consultar mais eficientemente para 2 campos personalizados?

THX

(Informações Adicionais: O site tem 40.000 postagens e usa w3totalcache)

Solutions Collecting From Web of "WP_Meta_Query causando consultas MySQL de longa duração"