mySql innoDB запросы на запись заблокированы на долгое время запросами на чтение - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть база данных mySql innoDB с таблицей (с автоинкрементным первичным ключом). У меня есть много процессов, выполняющих операцию чтения таблицы. У меня есть другие (несколько) процессов, которые нужно записать в одну и ту же таблицу за промежуток времени (менее 30 секунд). Процессы записи иногда испытывают тайм-аут, потому что они находят таблицу заблокированной (более 30 секунд) операциями чтения.

Есть ли способ предотвратить такое поведение и позволить процессам записи писать, даже если другие процессы читают?

1 Ответ

0 голосов
/ 16 ноября 2018

Основное лекарство от этого - ускорить чтение. Давайте посмотрим на некоторые из них вместе с SHOW CREATE TABLE. Часто это так же просто, как добавить «составной» индекс.

Если это приложение хранилища данных, и операции чтения представляют собой большие «отчеты», которые читают много строк и выполняют GROUP BY, то отличным решением будет создание и поддержка сводных таблиц ) .

...