<< Click to Display Table of Contents >> Разработка > Рекомендации по разработке для масштабируемых систем > Оптимизация длительных процессов Ограничение количества ролей для пользователя |
Чтобы выдавать права доступа на документы сотрудникам из разных подразделений, используются роли. Если сотрудник входит в 200 ролей и более, то для него открытие списков документов в системе занимает длительное время. Это связано с тем, что при формировании списка запрос сначала получает все субъекты прав с учетом вложенности, в которые входит пользователь. Например, если пользователь включен в роль, а также во вложенные в нее роли. После этого строится запрос на получение выборки документов, на которые у пользователя есть права. Если количество ролей пользователя превышает 200, то запрос нагружает СУБД и выполняется медленно.
Чтобы оптимизировать выполнение запросов на получение списка документов:
•сократите количество ролей для одного пользователя. При подсчете допустимого количества учитывайте также общее число субъектов прав для пользователя: его вхождения в роли, подразделения, наши организации, замещения, системные замещения. Например, если в роль включены другие роли, то удалите сотрудника из них;
•ограничьте список записей по свойствам, не используя права доступа. Например, по свойству «Подразделение» текущего пользователя. В этом случае для сотрудника отображается список документов с указанным значением свойства.
© Компания Directum, 2024 |