IBM® Informix® 12.10

Таблица блокировок

Блокировка создается, когда пользовательский поток вносить запись в таблицу блокировок. Таблица блокировок - это пул доступных блокировок. Одна транзакция может являться владельцем нескольких блокировок. Информацию о блокировке и об операторах SQL, связанных с блокировкой, смотрите в публикации РуководствоIBM Informix по SQL: учебник.

Блокировку описывает следующая информация, хранящаяся в таблице блокировок:

Чтобы указать исходный размер таблицы блокировок, задайте значение параметра конфигурации LOCKS. Информацию о том, как при помощи параметра конфигурации LOCKS задать число блокировок для сеанса, смотрите в темах, посвященных параметрам конфигурации, в публикации IBM Informix Administrator's Reference и в темах, посвященных влиянию конфигурации на использование памяти, в публикации IBM Informix Performance Guide.

Если число блокировок, выделенных сеансам, превысит значение, заданное параметром конфигурации LOCKS, сервер баз данных удваивает размер таблицы блокировок (до 15 раз). Сервер баз данных увеличивает размер таблицы блокировок, каждый раз пытаясь его удвоить. Однако объем, добавляемый при каждом увеличении, ограничен максимальным значением. На 32-битных платформах при каждом увеличении можно добавить, максимум, 100000 блокировок. Поэтому общее максимально допустимое число блокировок для 32-битных платформ равно 8000000 (максимальное число начальных блокировок) + 99 (максимальное число динамических расширений таблицы блокировок) x 100000 (максимальное число блокировок, добавляемых при каждом расширении таблицы блокировок). На 64-битных платформах при каждом увеличении можно добавить, максимум, 1000000 блокировок. Поэтому общее максимально допустимое число блокировок будет равно 500000000 (максимальное число начальных блокировок) + 99 (максимальное число динамических расширений таблицы блокировок) x 1000000 (максимальное число блокировок, добавляемых при каждом расширении таблицы блокировок).

Задайте режим блокировки для новых таблиц (режим страниц или режим строк) при помощи параметра конфигурации DEF_TABLE_LOCKMODE.

Блокировки не позволяют сеансам прочитать данные, пока не будет произведено принятие или откат параллельной транзакции. В случае баз данных, созданных с использованием ведения журнала транзакций, вы можете пи помощи параметра конфигурации USELASTCOMMITTED в файле onconfig указать, должен ли сервер баз данных использовать последнюю принятую версию данных. Последняя принятая версия данных - это версия данных, которая существовала до внесения каких-либо обновлений. Значение, которое вы зададите при помощи параметра конфигурации USELASTCOMMITTED, переопределяет уровень изоляции, заданный при помощи SQL-оператора SET ISOLATION TO COMMITTED READ. Более подробную информацию об использовании параметра конфигурации USELASTCOMMITTED смотрите в публикации IBM Informix Administrator's Reference, в темах, посвященных параметрам конфигурации.

Более подробную информацию об использовании блокировок и их мониторинге смотрите в темах, посвященных блокировкам, в публикациях IBM Informix Performance Guide и РуководствоIBM Informix по SQL: учебник.


Отправить отзыв | Обмен примерами | Устранение неисправностей

Публикации в формате PDF смотрите по адресу Publications for the IBM Informix 12.10 family of products (Публикации для семейства продуктов IBM Informix 12.10).
Замечания по выпуску, документации и/или различным платформам смотрите на странице Замечания по выпуску.
 отметка времени Дата выпуска: март 2013 г.