Блокировать конкуренцию - Block contention

В системах управления базами данных блокировать конкуренцию (или же конфликт данных) относится к нескольким процессам или экземплярам, ​​конкурирующим за доступ к одному индексу или данным. блокировать в то же время. Как правило, это может быть вызвано очень частым сканированием индексов или таблиц или частыми обновлениями. Одновременное выполнение операторов двумя или более экземплярами также может привести к конфликту, и впоследствии занято ожиданием для процесса без замок.[1][2]

Решения

  • Чтобы уменьшить конкуренцию за блоки таблицы из-за операторов delete, select или update, уменьшите количество строк в блоке. Это можно сделать, используя меньший размер блока.
  • Чтобы уменьшить конкуренцию за блоки таблицы из-за операторов вставки, увеличьте количество свободных списков или буферных кадров.
  • Чтобы уменьшить конкуренцию за блоки индекса, лучшая стратегия - реализовать обратный индекс.

В большинстве ситуаций цель состоит в том, чтобы распределить запросы по большему количеству блоков, чтобы не концентрироваться на каком-либо одном.

Рекомендации

  1. ^ Антонини, Кристиан (2008). Устранение неполадок производительности Oracle. Apres. стр.543 –546. ISBN  1-59059-917-9.
  2. ^ Бурлесон, Дон (2005). Серебряные пули Oracle. Безудержный TechPress. п. 123. ISBN  0-9759135-2-2.