Вопрос

Отключение администрирования по записям

Добрый день.

В погоне за скоростью работы системы задумались о том, что у нас проделывается лишняя работа из-за включенного по умолчанию администрирования по записям. К примеру, по объекту "Контрагенты" у нас всего одно правило: Кто создает = Все сотрудники; Кому дано право = Все сотрудники. По сути все видят все.



Но, если я правильно понимаю, при включенном администрировании генерируются лишние запросы - внесение прав в таблицу и их проверка при каждой загрузке раздела. Реально ли ускорить систему, выключив это администрирование? Насколько возрастет скорость загрузки раздела? 



Как вообще происходит проверка прав - отдельными запросами или left join'ом?

Нравится

1 комментарий

Очевидно, проверка прав по записям порождает усложнение запросов в базу и уменьшение производительности. И если реально в разделе все видят всё, лучше в нём права отключить. Точные цифры ускорения сказать сложно, слишком много факторов, нужно на своей базе тестировать.

В запросах проверка прав делается при помощи Exists-фильтра с подзапросом из таблицы прав. Также для неосновных таблиц запроса учитывается значение системной настройки QueryJoinRightLevel (см. здесь).

Показать все комментарии