RandomSurrKeys Назад В начало Вперед

Тип

Да/Нет.

Назначение

Включить режим формирования случайных суррогатных ключей.

Суррогатный ключ - уникальный идентификатор записи в таблице, формируемый системой автоматически и используемый как для формирования ссылок между таблицами, так и в процессе межофисного обмена. Длина суррогатного ключа - 8 байт.

В обычном режиме суррогатные ключи для таблицы формируются через специальную промежуточную таблицу, использование которой гарантирует уникальность ключа при работе в многопользовательском режиме. При этом обеспечивается глобальная уникальность во времени, т.е. если некоторая запись была удалена, то ее ключ не будет повторен при вставке последующих записей. Кроме того, этот алгоритм гарантирует, что ключи генерируются в возрастающем порядке. Недостатком алгоритма является то, что при каждом формировании ключа производится модификация упомянутой промежуточной таблицы, что ведет к замедлению работы системы.

Альтернативный алгоритм формирования суррогатных ключей формирует ключ случайным образом без обращения к промежуточной таблице. При этом, вероятность появления дублированных значений ключа очень мала.. С точки зрения пользователя отличие этого алгоритма от предыдущего состоит в том, что во-первых, ключи формируются не порядке возрастания, поэтому невозможно по таким ключам отследить порядок вставки записей в таблице. Во-вторых, не обеспечивается глобальная уникальность ключей во времени. Система гарантирует только то, что ключи уникальны в каждом конкретном состоянии системы. При вставке записи может быть сгенерирован ключ, повторяющий ключ ранее удаленной записи, хотя вероятность этого события не велика.

Если активизирован режим формирования случайных ключей, то можно использовать параметр RandomSurrKeysExcludeList, позволяющий задать список таблиц, для которых нужно использовать обычный алгоритм формирования ключей.

Пример использования

RandomSurrKeys=ON