К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Поможет ли индексация реквизита справочника?

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



Гость
1 - 08.07.2021 - 08:42
Не поможет наверное, низкая селективность в теории, но что мешает развернуть копию базы и поиграться ?. Тормозит получение любого элемента и любого реквизита этого справочника.
Статистику базы давно обновляли ?
Гость
2 - 08.07.2021 - 12:34
+ (1) даже и при высокой селективности не поможет, бо ТС ПОЛУЧАЕТ его значение, а не строит на его основе отбор/соединение и т.п. операции. Причина в чём-то другом. Возможно в ПриАктивацииСтроки получение значения происходит через точку от ссылки, а это заставляет систему считывать из БД в оперативку "Более 100 реквизитов"...
3 - 08.07.2021 - 14:36
Обращенние к базе в ПриАктивацииСтроки()? Т.е. на каждую строку, выводимую на экран делается запрос? Будет тормозить по определению.
Динамический список вам в помощь.
4 - 14.07.2021 - 06:04
2 - Да, там из строки получается ссылка и из ссылки уже реквизиты. Переделал на запрос, в нём вытаскиваются все реквизиты, которые используются в процедуре - стало 14% времени. И да, именно этот реквизит стоит первым для получения. Я поэтому и думал, что он тормозной. А оказалось вот что.. Буду знать теперь.
5 - 14.07.2021 - 06:12
И ещё - я поменял работу и месяца не прошло. Решаю первые задачи и встал вопрос торможения этого справочника. Например, там привыводестроки выполнялся запрос по подсчёту количества строк, которые попали в отбор. И это только 1 пример.. Оптимизировал всё что смог, осталось 2 вопроса - этот и ещё один, но второй что-то даже не знаю, как к нему подойти.
Гость
6 - 15.07.2021 - 15:29
(4) всё-же посмотри Динамический список с вытаскиванием в колонки всего необходимого (если для визуализации они не нужны - не тащи их на форму, но данные получай всегда)
Гость
7 - 27.07.2021 - 13:51
да уж, проще на все строки сразу один раз запросом собрать и выводить уже собранное, чем каждый раз заново таблицы шерстить


К списку вопросов






Copyright ©, Все права защищены