MySQL « Блокируется таблица MyISAM
WordPress. Таблицы MyISAM.
Таблица wp_posts содержит 80 000 строк. Время от времени при выполнении запроса UPDATE, он "подвисает", то есть становиться в State = Locked и блокирует всю таблицу. На чтение тоже. Выстраивается огромная очередь, LA сервера прыгает до 100% и будь здоров.
1. Почему такое происходит?
2. Как такого избежать?
PS: SQL запросов на странице больше 100, но времени на тщательную оптимизацию нет.
Таблица wp_posts содержит 80 000 строк. Время от времени при выполнении запроса UPDATE, он "подвисает", то есть становиться в State = Locked и блокирует всю таблицу. На чтение тоже. Выстраивается огромная очередь, LA сервера прыгает до 100% и будь здоров.
1. Почему такое происходит?
2. Как такого избежать?
PS: SQL запросов на странице больше 100, но времени на тщательную оптимизацию нет.
1 ответов
1. Потому, что при записи в таблицу она блокируется на все время записи.
2. Оптимизируйте запрос UPDATE. Если там сложный where, подберите для него индекс подходящий, а если изменяется много записей за раз, подумайте, как можно сделать это порциями.