Spec-Zone .ru
спецификации, руководства, описания, API

8.10.2. Табличные Проблемы Блокировки

InnoDB таблицы используют блокировку на уровне строки так, чтобы многократные сеансы и приложения могли читать из и записать в ту же самую таблицу одновременно, не делая друг друга ожидать или приведение к непоследовательным результатам. Для этого механизма хранения избегайте использования LOCK TABLES оператор, потому что это не предлагает дополнительной защиты, но вместо этого уменьшает параллелизм. Автоматическая блокировка на уровне строки делает эти таблицы подходящими для Ваших самых занятых баз данных с Вашими самыми важными данными, также упрощая логику приложения, так как Вы не должны заблокировать и разблокировать таблицы. Следовательно, InnoDB механизм хранения является значением по умолчанию в MySQL 5.7.

MySQL использует табличную блокировку (вместо страницы, строки, или блокировки столбца) для всех механизмов хранения кроме InnoDB. У операций самой блокировки нет большого количества издержек. Но потому что только один сеанс может записать в таблицу в любой момент для лучшей производительности с этими другими механизмами хранения, используйте их прежде всего для таблиц, которые запрашиваются часто и редко вставляются в или обновляются.

Одобрение Соображений производительности InnoDB

Выбирая, создать ли табличное использование InnoDB или различный механизм хранения, имейте в виду следующие недостатки табличной блокировки:

Обходные решения для Блокировки Проблем Производительности

Следующие элементы описывают некоторые способы избежать или уменьшить конкуренцию, вызванную табличной блокировкой: