08.06.2011, 11:49 | #21 |
Участник
|
Цитата:
Сообщение от AndyD
2 Logger
В MS SQL можно запретить эксклацию на уровне таблиц - LOCK_ESCALATION = DISABLE в команде ALTER TABLE Кроме того, можно запретить эскалацию на уровне сервера б/д (или сессии) c помощью DBCC TRACEOFF для флагов 1211 (по используемой памяти) и 1224 (по кол-ву заблокированных строк) PS MS рекомандует оключать только флаг 1224, если необходимо, что бы не получить ошибку Out of memory |
|
08.06.2011, 12:17 | #22 |
Moderator
|
Цитата:
Сообщение от Logger
Ключевое слово - "памяти". Денис, ты неявно предполагаешь какую то конкретную реализацию механизма блокировок (как я понимаю майкрософтовскую) и говоришь о её недостатках. Если не ошибаюсь оракл хранит инфу о блокировках на диске в самих записях, так что при большом числе блокировок памяти дополнительной не тратится. Работает достаточно шустро.
В оракле информация о блокировках храниться в заголовке блока. Подробности про это рассказаны в http://my-oracle.it-blogs.com.ua/post-239.aspx. Тоже, на самом деле, не идеальный вариант. Во первых - часть полезного пространства блока отъедается под данные о блокировках, во вторых - если ты с числом слотов под данные о блокировках не угадал при создании таблицы, то транзакции точно также блокируются в ожидании места под запись о блокировке, даже если никаких объективных конфликтов блокирования нету... Ну то есть - оба подхода имеют свои плюсы и минусы, в каких-то случаях оракловский подход лучше работает, в каких-то микрософтовский. Хочешь работу без эскалации, будь готов получить какие-то другие грабли взамен... |
|
|
За это сообщение автора поблагодарили: Logger (5). |
08.06.2011, 12:25 | #23 |
Участник
|
Цитата:
Сообщение от fed
Во первых - часть полезного пространства блока отъедается под данные о блокировках, во вторых - если ты с числом слотов под данные о блокировках не угадал при создании таблицы, то транзакции точно также блокируются в ожидании места под запись о блокировке, даже если никаких объективных конфликтов блокирования нету...
Конечно, проблемы возможны. Но все же настройка более гибкая. Можно этим параметром играть. Плюс оперативка более ценная память чем диск. По опыту использования - мы на такие блокировки вроде бы не натыкались. Видимо наш админ угадал с числом слотов под блокировки. Либо значение по умолчанию там удачное стоит. |
|
09.09.2013, 18:27 | #24 |
Administrator
|
Пожалуй, оставлю здесь ссылку на свою связанную тему:
Нефинансовые перемещения не раскрываются при отмене закрытия
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
|