Была похожая ситуация. У нас такая ситуация возникала из-за того что запрос перелапачивал кучу записей. Проверьте, сколько записей переберает данный запрос с помощью Explain.
Просто пишите перед запросом слово Explain
EXPLAIN SELECT wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id
Например через PhpMyAdmin. И вам сервер выдаст статистику по запросу.
нам помогли индексы на определенные колонки