Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Поможет ли индексация реквизита справочника? (http://forums.kuban.ru/f1040/pomozhet_li_indeksaciya_rekvizita_spravochnika-9164710.html)

который не честный 07.07.2021 08:50

Поможет ли индексация реквизита справочника?
 
1с 8.0
SQL 2005.
В базе есть справочник. Более 500000 элементов.
Более 100 реквизитов.
Есть 1 реквизит, булево.
Получение значения этого реквизита очень тормозит. По замеру доходит до 30% времени.
В частности, он проверяется ПриАктивизацииСтроки в форме списка справочника.
Если у этого реквизита включить Индексировать - это поможет?

Jimbo 08.07.2021 08:42

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

roma n 08.07.2021 12:34

+ (1) даже и при высокой селективности не поможет, бо ТС ПОЛУЧАЕТ его значение, а не строит на его основе отбор/соединение и т.п. операции. Причина в чём-то другом. Возможно в ПриАктивацииСтроки получение значения происходит через точку от ссылки, а это заставляет систему считывать из БД в оперативку "Более 100 реквизитов"...

Климов Сергей 08.07.2021 14:36

Обращенние к базе в ПриАктивацииСтроки()? Т.е. на каждую строку, выводимую на экран делается запрос? Будет тормозить по определению.
Динамический список вам в помощь.

который не честный 14.07.2021 06:04

2 - Да, там из строки получается ссылка и из ссылки уже реквизиты. Переделал на запрос, в нём вытаскиваются все реквизиты, которые используются в процедуре - стало 14% времени. И да, именно этот реквизит стоит первым для получения. Я поэтому и думал, что он тормозной. А оказалось вот что.. Буду знать теперь.

который не честный 14.07.2021 06:12

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

roma n 15.07.2021 15:29

(4) всё-же посмотри Динамический список с вытаскиванием в колонки всего необходимого (если для визуализации они не нужны - не тащи их на форму, но данные получай всегда)

qweqwe123123 27.07.2021 13:51

да уж, проще на все строки сразу один раз запросом собрать и выводить уже собранное, чем каждый раз заново таблицы шерстить


Текущее время: 07:05. Часовой пояс GMT +3.