Уровень детализации это размер элементов данных, выбранных в качестве защищаемой единицыдля протокола управления параллельностью.
Во всех обсуждавшихся выше протоколах управления параллельностью предполагалось, что база данных состоит из некоторого количества “элементов данных”, причем дополнительно не уточнялось, что означает этот термин. Как правило, в качестве элемента данных выбирается один из перечисленных ниже объектов, размеры которых варьируются от очень крупных до мельчайших.
• Вся база данных.
• Отдельный файл.
• Отдельная страница данных (иногда называемая областью или блоком базы данных — сектор на физическом диске, используемом для хранения таблиц)
• Отдельная запись.
• Отдельное поле в записи.
Размер, или уровень детализации, элемента данных, который может быть заблокирован отдельной операцией транзакции, оказывает сильнейшее влияние на общую производительность системы и эффективность работы протокола управления параллельностью. Однако можно достичь нескольких компромиссов, что следует учитывать при выборе размера элемента данных в системе. Было предложено несколько методов динамической установки размера блокируемого элемента данных. В соответствии с этими методами, размер элемента данных зависит от типа выполняемых в данный момент транзакций и устанавливается из соображений оптимального соответствия их требованиям. В идеале, СУБД должна поддерживать смешанный уровень детализации, позволяющий блокировать отдельные записи, страницы и целые файлы. Некоторые системы автоматически повышают уровень детализации от отдельных записей или страниц до уровня файла, если определенная транзакция блокирует больше установленного процента записей или страниц некоторого файла.