MySQL « Блокируется таблица MyISAM

WordPress. Таблицы MyISAM.

Таблица wp_posts содержит 80 000 строк. Время от времени при выполнении запроса UPDATE, он "подвисает", то есть становиться в State = Locked и блокирует всю таблицу. На чтение тоже. Выстраивается огромная очередь, LA сервера прыгает до 100% и будь здоров.

1. Почему такое происходит?
2. Как такого избежать?

PS: SQL запросов на странице больше 100, но времени на тщательную оптимизацию нет.

1 ответов


Переходите на innodb и беда должна пройти.
Разницы в скорости почти нет.


1. Потому, что при записи в таблицу она блокируется на все время записи.
2. Оптимизируйте запрос UPDATE. Если там сложный where, подберите для него индекс подходящий, а если изменяется много записей за раз, подумайте, как можно сделать это порциями.