Блокировать конфликты
В системах управления базами данных конкуренция за блок (или конкуренция за данные ) относится к нескольким процессам или экземплярам, конкурирующим за доступ к одному и тому же индексу или блоку данных одновременно. Обычно это может быть вызвано очень частым сканированием индекса или таблицы или частыми обновлениями. Одновременное выполнение операторов двумя или более экземплярами также может привести к конфликту и, как следствие, к занятости в ожидании процесса без блокировки . [1] [2]
Решения
[ редактировать ]- Чтобы уменьшить конкуренцию за блоки таблиц из-за операторов удаления, выбора или обновления, уменьшите количество строк в блоке. Это можно сделать, используя меньший размер блока.
- Чтобы уменьшить конкуренцию за блоки таблиц из-за операторов вставки, увеличьте количество свободных списков или кадров буфера.
- Чтобы уменьшить конкуренцию за блоки индексов, лучшей стратегией является реализация обратного индекса .
В большинстве ситуаций цель состоит в том, чтобы распределить запросы по большему количеству блоков, чтобы не концентрироваться на каком-либо одном.
Ссылки
[ редактировать ]- ^ Антоньини, Кристиан (2008). Устранение проблем с производительностью Oracle . Апрес. стр. 543–546 . ISBN 1-59059-917-9 .
- ^ Берлесон, Дон (2005). Серебряные пули Оракула . Безудержный TechPress. п. 123. ИСБН 0-9759135-2-2 .