Тяжелый запрос Wordpress MySQL, пожалуйста, помогите мне найти и оптимизировать его - PullRequest
2 голосов
/ 04 июня 2010

У меня запущен и работает WordPress-сайт, который достаточно популярен, но за последние пару дней моя производительность сильно снизилась.

Я установил Jet Profiler и следил за базой данных MySQL, чтобы выяснить, могу ли я найти что-то не так, и этот один запрос является худшим нарушителем.

SELECT SQL_CALC_FOUND_ROWS  wp_posts.* FROM wp_posts  WHERE 1=1  AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish')  ORDER BY wp_posts.ID ASC LIMIT 0, 1

Моим первым предположением было бы удалить функцию SQL_CALC_FOUND_ROWS и изменить * только на конкретные поля, но я не могу найти то, что вызывает этот запрос.

Как бы я узнал, какой php-файл вызывает это?

Ответы [ 3 ]

1 голос
/ 04 июня 2010

Возможно, вы захотите взглянуть на эти две проблемы, опубликованные на их трекере:

http://core.trac.wordpress.org/ticket/10469

http://core.trac.wordpress.org/ticket/12557

(Обновление: добавлена ​​ссылка)

1 голос
/ 04 июня 2010

Есть хороший шанс, что это ваша первая страница. Я предполагаю, что вы установили кеширование перед WordPress, используя WP Super Cache или что-то еще ( nginx , Squid и т. Д.). Если нет, вы не должны смотреть на базу данных. Кэширование критично для WP .

0 голосов
/ 07 февраля 2012

Окончательное решение состояло в том, что плагин под названием TDO Mini Forms был плохо закодирован и разрушал мою базу данных.

Так что, если у вас когда-нибудь возникнет эта проблема и у вас есть этот плагин, я настоятельно рекомендую удалить его. Похоже, он больше не существует в качестве допустимой опции в базе данных плагинов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...