Запросы RLS и быстродействие #758774


#0 by Stim
Сильно ли я нагружу систему при открытии справочника договоры, если напишу запрос РЛС примерно такой: ГДЕ Контрагент.Партнер.ОсновнойМенеджер.ТекущееПодразделение = &ТекущееПодразделение Можно это как-то оптимизировать?
#1 by vde69
будет ппц..... оптимизировать можно так ГДЕ ТекущееПодразделение = &ТекущееПодразделение
#2 by Stim
ппц.. вы так говорите, как будто не видели стандартных рлс-запросов
#3 by vde69
ГДЕ ПодразделениеДляRLS в (&МассивПодразделений) соответственно нужно добавить и заполнять реквизит ПодразделениеДляRLS а МассивПодразделений должен быть как минимум из двух элементов, пустого и текущего
#4 by VikingKosmo
нужно добавить еще выборок через многочисленные точки
#5 by vde69
видел там жопа, но там такого ужаса как в нет....
#6 by Гёдза
а сколько всего контрагентов? Если всего пару тыщ, то особой разницы нет
#7 by Stim
есть еще варианты, тебе в копилку: ГДЕ Партнер.ОсновнойМенеджер.ТекущееПодразделение В (ВЫБРАТЬ                 ЗначенияГруппДоступа.ЗначениеДоступа             ИЗ                 РегистрСведений.ЗначенияГруппДоступа КАК ЗначенияГруппДоступа                 И НЕ ЗначенияГруппДоступа.ТолькоВидДоступа    )
#8 by vde69
тут нет большой ж... вложеный запрос  имеет статическое условие и будет закеширован (то есть выполнится 1 раз для каждого пакета рельсы, пакеты зависят от выборки, обычно 20-30 элементов на динамическом списке), а для отчета - вообще только 1 раз выполнится... единственное - отсутствие индекса но для мелкой таблицы это нормально (а вложенный возвращает мелкую таблицу) конечно можно было джойнить, но там реально можно попасть в фул скан, а тут сделали "понадежнее" твой вариант на порядок хуже....
#9 by Stim
предлагаешь добавить реквизит в справочники, его заполнять везде и по нему проверять? Ради одной роли?
#10 by Гёдза
не проще ли попробовать?
#11 by vde69
если не хочешь реквизит - то ради одной роли можно сделать регистр сведений в которой прописать "Объект"+"Пользователь" = "Доступ", так в типовых делают... и в рельсе джойн.. только с типизацией в условии не лоханись, используй "выразить"
#12 by vde69
вот мой шаблон, сделка - это документ!!! работает хорошо!!!         ))
#13 by Stim
офигеть. добавить новый регистр, который заполнять 100500 значениями элементов доступа на каждого пользователя.
#14 by vde69
есть такое понятие для СУБД как "денормализация", в твоем случае она оправдана... почитай
#15 by Гёдза
кстати так и работает в УПП доступ по контрагентам
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С