WebByte
Проходящий мимо
Crone, блокировка таблиц и чтение данных
Имеется таблица t1, данные в которую записываются скриптом, запускающимся раз в минуту.
Выполняться скрипт может больше минуты.
В результате всегда вставится минимум одна запись.
Есть другая таблица t2, которая связана с первой "один-ко-многим" t1.id=t2.parent
Данные в нее вставляются тем же скриптом -
после вставки записи в t1, извлекается инкремент и в t2 вставляется запись.
Экзепляров такого скрипта запущено 5-10 штук.
Соответсвенно, чтобы не получилось мешанины, при вставке данных в t1, она блокируется. LOCK TABLES t1 WRITE
Всё было бы хорошо.
Но данные таблицы t1 использует и другой скрипт - для чтения. Однако, не может считать пока таблица заблокирована
И получаются тормоза
Как бороться?
Имеется таблица t1, данные в которую записываются скриптом, запускающимся раз в минуту.
Выполняться скрипт может больше минуты.
В результате всегда вставится минимум одна запись.
Есть другая таблица t2, которая связана с первой "один-ко-многим" t1.id=t2.parent
Данные в нее вставляются тем же скриптом -
после вставки записи в t1, извлекается инкремент и в t2 вставляется запись.
Экзепляров такого скрипта запущено 5-10 штук.
Соответсвенно, чтобы не получилось мешанины, при вставке данных в t1, она блокируется. LOCK TABLES t1 WRITE
Всё было бы хорошо.
Но данные таблицы t1 использует и другой скрипт - для чтения. Однако, не может считать пока таблица заблокирована
И получаются тормоза
Как бороться?