Acelere a consulta de pesquisa que pesquisa no post meta?

Eu tenho uma consulta bastante grande que estou executando (devido à solicitação de clientes). A pesquisa original foi super lenta devido à inclusão de tabelas WPML, então usei filtro posts_clauses para criar essa consulta

 SELECT SQL_CALC_FOUND_ROWS DISTINCT wp_posts.ID FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID =wp_postmeta.post_id WHERE 1=1 AND ((wp_posts.post_title LIKE '%string%') OR (wp_posts.post_content LIKE '%string%') OR (wp_postmeta.meta_value LIKE '%string%')) AND wp_posts.post_type IN ('page', 'post', 'cpt') ORDER BY CASE WHEN wp_posts.post_type = 'page' THEN '1' WHEN wp_posts.post_type = 'cpt' THEN '2' WHEN wp_posts.post_type = 'post' THEN '3' ELSE wp_posts.post_type END ASC, wp_posts.post_title ASC LIMIT 0, 12 

Uma vez que eu tenho mais de 250k inputs na tabela pós-meta e mais de 1000 na tabela de postagem, quando executo essa consulta no meu db (phpmyadmin) é mais de 1 segundo e no servidor de teste no monitor de consulta leva mais de 2 segundos para ser executado isto. Para ver os resultados, aguento mais de 5 segundos.

Existe alguma maneira de melhorar o desempenho dessa consulta? O aumento dos resources do servidor ajudará?

EDITAR:

EXPLAIN dá:

 id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE wp_posts range type_status_date type_status_date 82 NULL 1 159 Using index condition; Using temporary; Using file... 1 SIMPLE wp_postmeta ref post_id post_id 8 db_table.wp_posts.ID 23 Using where; Distinct 

Solutions Collecting From Web of "Acelere a consulta de pesquisa que pesquisa no post meta?"