|
УТ 10.3, RLS тормоза при запросах со свойствами объектов. | ☑ | ||
---|---|---|---|---|
0
torgm
09.11.15
✎
09:38
|
УТ Файловая 10.3.33.1 Платформа 8.3.5.1482.
У пользователей права: Менеджер по продажам, Пользователь Включили Ограничение прав на уровне записей. Получили тормоза на всех запросах связанных со СвойствамиОбъектов в том числе и универсальныхотчетах. Запрос под полными правами отрабатывает за 0,5 секунд, запрос под ограниченными 300 секунд. свойств Задано 9: ; 4 на номенклатуру, 4 на контрагентов и 1 на документ. Количество записей регистра сведений ЗначенияСвойствОбъектов - 600. Куда копать? Пример одного из запросов. Взят из типовой. Запрос = Новый Запрос(); Запрос.УстановитьПараметр("НазначениеСвойств", ?(НазначениеСвойств = Неопределено, ОбщегоНазначения.ПолучитьСписокНазначенийСвойствКатегорийОбъектовПоСсылке(ОбъектОтбораЗначений), НазначениеСвойств)); Запрос.УстановитьПараметр("ОбъектОтбораЗначений", ОбъектОтбораЗначений); Запрос.УстановитьПараметр("СписокНазначенийСвойств", СписокНазначенийСвойств()); Запрос.Текст = " |ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ | СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления, | СвойстваОбъектов.Ссылка КАК Свойство, | РегистрСведений.ЗначенияСвойствОбъектов.Значение КАК Значение, | СвойстваОбъектов.Наименование | |ИЗ |// Отбираются свойства, предназначенные для заданного типа объектов. | ( | ВЫБРАТЬ | ПланВидовХарактеристик.СвойстваОбъектов.Ссылка КАК Ссылка, | ПланВидовХарактеристик.СвойстваОбъектов.Наименование КАК Наименование, | ПланВидовХарактеристик.СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления | | ИЗ | ПланВидовХарактеристик.СвойстваОбъектов | | ГДЕ | ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства В ( &НазначениеСвойств ) | | ) КАК СвойстваОбъектов | |ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ |// Присоединяются значения свойств, назначенные для заданного объекта. | РегистрСведений.ЗначенияСвойствОбъектов |ПО | РегистрСведений.ЗначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка | И | РегистрСведений.ЗначенияСвойствОбъектов.Объект = &ОбъектОтбораЗначений | |ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ |// Присоединяются группы, которым назначено свойство, для отбора свойств. |// Если свойству назначено значение, оно отбирается в любом случае. | РегистрСведений.НазначенияСвойствОбъектов |ПО | РегистрСведений.НазначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка | И | РегистрСведений.ЗначенияСвойствОбъектов.Значение ЕСТЬ NULL | |ГДЕ |// Если значение свойства не задано, свойство должно быть назанчено |// или всем объектам, или одной из групп - родителей объекта. | РегистрСведений.НазначенияСвойствОбъектов.Объект ЕСТЬ NULL | ИЛИ | РегистрСведений.НазначенияСвойствОбъектов.Объект В ( &СписокНазначенийСвойств ) | |УПОРЯДОЧИТЬ ПО | СвойстваОбъектов.Наименование |"; Возврат Запрос.Выполнить().Выгрузить(); |
|||
1
ДенисЧ
09.11.15
✎
09:53
|
РЛС и тормоза - близнецы-братья!
Мы говорим - РЛС, подразумеваем тормоза! |
|||
2
antgrom
09.11.15
✎
10:09
|
(0) в "Настольной книге эксперта по тех вопросам" есть примеры того как не надо писать запросы.
Точнее , какие запросы иногда могут вызвать проблемы. И не важно что у вас код из типовой. Если это важно - перепишите запрос , ускорив его. А пользователям назначайте только по одной роли. Желательно. |
|||
3
torgm
09.11.15
✎
10:28
|
(2) Правильно я понимаю, что вы мне предлагаете полностью переписать структуру универсальных отчетов.
|
|||
4
torgm
09.11.15
✎
12:37
|
Апну пожалуй.
|
|||
5
VikingKosmo
09.11.15
✎
12:40
|
Какое отношение универсальный отчет имеет к криво написанным запросам?
|
|||
6
torgm
09.11.15
✎
13:07
|
(5) ну как минимум "ИспользоватьСвойстваиКатегории" :) как только нажимаем, получаем также дичайшие тормоза.
|
|||
7
antgrom
09.11.15
✎
13:51
|
(3) проще выполнить мой "второй" совет и назначать каждому пользователю только одну роль.
"Первый" совет - если всё остальное ( например время проведения документов ) нормально , то следует определить - какую именно информацию вы обычно хотите получать и написать узкоспециализированные отчёты. |
|||
8
antgrom
09.11.15
✎
13:53
|
(5) универсальный не может быть самым быстрым.
|
|||
9
Гёдза
09.11.15
✎
13:58
|
то значения фильтруются по рлс
|
|||
10
torgm
09.11.15
✎
14:35
|
(9) Это то понятно... Но так тормознуто, что писец. самое интересное, что неоднократно пользовал RLS и тут первый раз такой косяк...
|
|||
11
torgm
16.11.15
✎
10:39
|
УРА! Все ок. Нашел косяк в типовом шаблоне. Подправил. Все заработало, всем спасибо :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |