Детали влияния различных схем блокировки в базах данных? - PullRequest
5 голосов
/ 25 февраля 2010

Я тестирую различные схемы блокировки для большой таблицы, более 4 миллионов строк, и ожидается рост до 10 миллионов.

Мой опыт работы с SyBase:
ALLPAGES, чрезвычайно медленный BCP (in) и обновление с полем, принадлежащим первичному ключу.
DATAROWS, быстрый BCP, быстрое обновление полей в ПК, быстрый выбор.
DATAPAGES, самый быстрый BCP и обновление, и более быстрый выбор, чем ALLPAGES, но не так быстро, как DATAROWS.

Я не эксперт, но мне кажется, что DATAROWS блокирует больше, чем DATAPAGES, и я не видел никаких недостатков в DATAPAGES.

Единственным преимуществом для DATAROWS, которое я смог найти, была чуть более высокая производительность в выборках, использующих первичный ключ, но DATAPAGES значительно быстрее при обновлении.

Есть ли опыт на практике?
Как сравниваются схемы блокировки?
Плюсы / минусы каждого?

Я пытался прочитать о теории, стоящей за этим, но мне это не очень понятно.

1 Ответ

0 голосов
/ 26 февраля 2010

Блокировка - это механизм управления параллелизмом.Это обеспечивает согласованность данных внутри транзакций и между ними.Блокировка необходима в многопользовательской среде, поскольку несколько пользователей могут работать с одними и теми же данными одновременно, поэтому не следует выбирать схемы блокировки в соответствии, например, со скоростью BCP.

Для таблиц, которые используют блокировку всех страниц или страницы данныхблокировка, либо блокировки страниц, либо блокировки таблиц

Для таблиц, использующих блокировку данных, либо блокировки строк, либо блокировки таблиц

Но таблицы, заблокированные на всех страницах, защищают от фантомов (строки, которые могут появляться или исчезать изнабор результатов) путем удержания блокировок на страницах индекса для транзакции serializable read

Как правило, следует использовать блокировку datarows или datapages для таблиц с конфликтами блокировок из-за обновлений и выборов.о блокировке и производительности здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...