Книга: Настольная книга 1С:Эксперта по технологическим вопросам
Назад: Пояснение к правилу 15 (не получать значение через точку от поля составного типа)
Дальше: 4.21.Нагрузочные тесты

Пояснение к правилу 16 (понимать, как запрос может быть изменен платформой при работе механизма RLS)

Особенности работы механизма RLS демонстрировались в разделе . Этот механизм дописывает свои условия к запросам, и это следует принимать во внимание при исправлении проблемных запросов.

Если от дописывания условий нельзя избавиться совсем, следует по крайней мере ограничить их количество, как рекомендуется в статье К. Рупасова: «Если в конфигурации описано несколько ролей с условиями RLS, то не следует назначать одному пользователю более одной такой роли. Если один пользователь будет включен, например, в две роли с RLS – бухгалтер и кадровик, то при выполнении всех его запросов к их условиям будут добавляться условия обоих RLS с использованием логического ИЛИ. Таким образом, даже если в исходном запросе нет условия ИЛИ, оно появится там после добавления условий RLS. Такой запрос также может выполняться неоптимально – медленно и с избыточными блокировками.

Вместо этого следует создать «смешанную» роль – «бухгалтер-кадровик» и прописать ее RLS таким образом, чтобы избежать использования ИЛИ в условии, а пользователя включить в эту одну роль.

Назад: Пояснение к правилу 15 (не получать значение через точку от поля составного типа)
Дальше: 4.21.Нагрузочные тесты