Показать сообщение отдельно
  #25  
Старый 24.09.2009, 15:08
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Возможные причины конкуренции блокировок



Возможные причины конкуренции блокировок

Незафиксированные изменения - это наиболее общая причиной конфликта блокировок. Но возможны и некоторые другие причины.

Длительно выполняемые транзакции. Во многих приложениях используется пакетная обработка при внесении массовых изменений (bulk updates). Выполнение таких пакетных заданий обычно запланировано в часы низкой активности или во время, когда пользователи не работают. Однако в некоторых случаях задания могут не успеть завершиться до возобновления работы пользователей, или же они слишком долго выполняются в период низкой активности. Конфликты блокировок обычно возникают, когда транзакция и пакетная обработка выполняются одновременно.

Неоправданно высокий уровень блокирования. Не все базы данных поддерживают блокирование на уровне строк (Oracle добавил блокирование на уровни строки в версию 6 в 1988 году). Некоторые базы данных до сих пор блокируют на уровне страницы или таблицы. Разработчики, пишущие свои приложения, которые предполагается использовать с разными базами данных, часто искусственно завышают уровень блокирования. В результате Oracle начинает работать подобно другим базам данных с меньшими возможностями. Пользователи, начинающие использовать Oracle, также часто используют более высокий, чем это необходимо в базе данных Oracle 10g уровень блокировки.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием