Ускорить поисковый запрос, который ищет в метатете post?

У меня довольно большой запрос, который я выполняю (из-за запроса клиентов). Первоначальный поиск был слишком медленным из-за включения WPML-таблиц, поэтому я использовал фильтр posts_clauses для создания этого запроса

 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 

Поскольку у меня более 250 тыс. Записей в таблице postmeta и более 1000 в столбце post, когда я запускаю этот запрос в своем db (phpmyadmin), это более 1 секунды, а на промежуточном сервере в мониторе запросов требуется 2 секунды для запуска Это. Чтобы увидеть результаты, я жду более 5 секунд.

Есть ли способ повысить производительность этого запроса? Помогает ли увеличение ресурсов сервера?

РЕДАКТИРОВАТЬ:

EXPLAIN дает:

 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 "Ускорить поисковый запрос, который ищет в метатете post?"