Для значения 1С предопределен следующий набор переменных реестра (его можно получить командой db2set -all) [i] DB2_SUBSELECT_LEVEL_LOCKING=ON [DB2_WORKLOAD]
[i] DB2_EXPRESSION_RULES=RAISE_ERROR_PERMIT_SKIP [DB2_WORKLOAD]
[i] DB2_WORKLOAD=1C
[i] DB2_MINIMIZE_LISTPREFETCH=YES [DB2_WORKLOAD]
[i] DB2_REDUCED_OPTIMIZATION=INDEX,PRUNE_KEYS,DISABLE_FDS,REDUCE_LOCKING [DB2_WORKLOAD]
[i] DB2_INTERESTING_KEYS=YES [DB2_WORKLOAD]
[i] DB2_EXTENDED_OPTIMIZATION=ENHANCED_FFNR,NO_HVCHECK [DB2_WORKLOAD]
[i] DB2COMPOPT=17236231,1 [DB2_WORKLOAD] Часть из этих настроек не имеет публично доступной документации, т.к. настройки затрагивают глубинные механизмы DB2 и их следует применять "строго по назначению -врача- службы поддержки IBM". Что-то вы можете найти по приведенной выше ссылке.
Поясню смысл пары настроек.
DB2_SUBSELECT_LEVEL_LOCKING=ON включает режим управления блокировками на уровне подзапросов. (раньше в DB2 было возможно управлять блокировками только на уровне запросов). Кстати, в версии DB2 9.7 механизм режим управления блокировками на уровне подзапросов включен по-умолчанию.
DB2_EXPRESSION_RULES=RAISE_ERROR_PERMIT_SKIP Это настройка, котрая включает специальный режим рассмотрения исключительных ситуаций компилятором запросов. Это повышает в разы производительность на RLS запросах 1С. В целом все прочие настройки для 1С касаются работы с выборками и режима работы оптимизатора/компилятора запросов для построения более эффективных планов, в частности, чтобы делался поиск по "широкому" индексу вместо таблично сканирования при выборе даже одной записи из таблицы (чтобы повысить конкурентность/паралелльность работы, как понимаете).
|