Простой внутренний Query Join Postmeta требует 2SEC для выполненияMySql

Форум по Mysql
Ответить
Anonymous
 Простой внутренний Query Join Postmeta требует 2SEC для выполнения

Сообщение Anonymous »

Сайт WordPress с около 150000 сообщений. У меня есть запрос, который выполняется несколько раз на страницу нагрузку, и он необоснованно медленный - в порядке 2 сек: < /p>

Код: Выделить всё

SELECT COUNT(*) as cnt
FROM wp_postmeta pm, wp_posts p inner join wp_posts p2 on p2.ID = p.post_parent and p2.post_status in('order_paid', 'order_received')
WHERE p.ID = pm.post_id
AND ((p.post_status = 'publish'))
AND p.post_type = 'tc_tickets_instances'
AND pm.meta_key = 'ticket_type_id'
AND pm.meta_value IN (157404,157405,155353,155354,155355);
Я установил WP MySQL для Speed ​​Plugin, который создает новые составные индексы и что кажется , чтобы немного улучшить вещи. Запрос выполняется от 1,5 - 2,5 секунды «обычно», а страница, которую мы загружаем, используется, чтобы диапазон от 13 секунд до 24 секунды до плагина и от 8 с до 20 с после новые индексы создаются. /p>
Там нет ничего очевидного для решения, но, возможно, есть какая -то подлая техника, чтобы оптимизировать этот запрос, который я не нашел? Сгенерировано с помощью mysql Workbench "src =" https://i.sstatic.net/qurvfdnz.png "/>

Подробнее здесь: https://stackoverflow.com/questions/794 ... to-execute
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»