v8: Стоит ли индексировать измерения регистра сведений? #617639


#0 by Галахад
Будут ли быстре выполнятьсмя запросы к нему?
#1 by golden-pack
да
#2 by ДенисЧ
Будут. Но будет медленней проходить запись. тут нужно искать компромисс
#3 by МихаилМ
все зависит от селективности если отбот будет по 2 полям с одинаковой селективностью индексов то оптимизатор запросов мс скл может выбрать фул скан. куда уж неотимальней
#4 by vde69
интересно найти базу где количество записей в регистр превосходит количество чтений :) индексировать нужно обязательно все измерения, только что-бы не нарватся нужно соблюдать простые правила 1. в измерениях нельзя использовать составные и примитивные типы 2. более 5 измерений ведет к резкому величению тормозов
#5 by butterbean
почему примитивные нельзя??
#6 by butterbean
+ а для небольших по объему записей регистров хотя-бы можно??
#7 by vde69
по тому-что гладиолус :) приметивные типы занимают больший размер (чем ссылочные) кластерного индекса.
#8 by Defender aka LINN
Как-то на мой скромный взгляд "занимают больший размер" и "нельзя" немножко разные вещи. Ну и "ссылочное поле" - это 2 числовых, по сути. Как же так хитро получается?
#9 by andrewks
про строки большой длины согласен, числа в измерениях сомнительны. а вот почему бы не индексировать по небольшим строкам и датам?  (хотя единственным не-моветоном в измерениях, пожалуй, будут дата и булево)
#10 by vde69
индекс приметивного типы - содержат идентификатор типа...
#11 by Defender aka LINN
Еще раз: ссылка - это 2 (ДВА) числовых поля. Почему по двум полям индекс - хорошо, по одному - плохо и вообще нельзя?
#12 by Галахад
Гм. Оказалось, что почти никакой разницы. :-) проблема в том, что в запросе есть конструкции типа. РС.Ссылка.Дата РС.Ссылка.Номер РС.Ссылка.Проыеден Как только их убираю 1-2 сек. С ними 40... Есть какие-нибуль мысли?
#13 by andrewks
текст запроса в студию
#14 by Sammo
Зависит от запроса. Неявное соединение в скулевском запросе. А если еще составной тип, то неявное левое соединение с таблицами всех документов, входящих в тип. Там случайно тип не ДокументСсылка? :)
#15 by Ненавижу 1С
чего это?
#16 by Галахад
ВЫБОР        КОГДА Соответствие1С_и_не1С.СсылкаНаОбъект.Ссылка ССЫЛКА Документ.СчетНаОплатуПокупателю ИЗ    РегистрСведений.Соответствие1С_и_не1С КАК Соответствие1С_и_не1С    Соответствие1С_и_не1С.ИмяОбъекта В(&Фильтр)    И Соответствие1С_и_не1С.СсылкаНаОбъект.Дата МЕЖДУ &ДатаНач И &ДатаКон
#17 by Sammo
СсылкаНаОбъект какого типа?
#18 by andrewks
используй явное соединение РегистрСведений.Соответствие1С_и_не1С и объекта СсылкаНаОбъект
#19 by Галахад
ДокументСсылка, СправочникСсылка.Контрагенты, СправочникСсылка.Номенклатура Гм. не понял.
#20 by Sammo
ВЫБОР        КОГДА Соответствие1С_и_не1С.СсылкаНаОбъект.Ссылка ССЫЛКА Документ.СчетНаОплатуПокупателю Не камильфо (СсылкаНаОбъект.Ссылка)
#21 by Галахад
Убрал этот кусок вообще - не помагло.        КОГДА Соответствие1С_и_не1С.СсылкаНаОбъект.Ссылка ССЫЛКА Документ.СчетНаОплатуПокупателю
#22 by Sammo
Ну и "получи фашист гранату". Когда данный запрос получает скуль, он таблицу Соответствие1С_и_не1С join-ит с таблицами _ВСЕХ_ документов, которые есть в метаданных + с таблицами 2 справочников. Я уж молчу, что какое поведение запроса ты ожидаешь от запроса, если СсылкаНаОбъект если он справочникСсылка.Номенклатура - что он должен вернуть на СсылкаНаОбъект.Проведен ? В чем суть - надо отобрать все по флиьтру или таки только счета?
#23 by Sammo
20 - это просто некрасивость - использовать ссылку от ссылки
#24 by andrewks
1. жесть
#25 by andrewks
какова задача, вообще?
#26 by Галахад
Я правильно понял? Если явно указать методанные.документы, которые мне нужноы. Их штук 8, то будет быстее? По второму вопросу - справочникСсылка.Номенклатура Используется фильтр Соответствие1С_и_не1С.ИмяОбъекта В(&Фильтр)
#27 by Галахад
Что именно? Ну, как бы: Соответствие1С_и_не1С
#28 by Defender aka LINN
"если СсылкаНаОбъект если он справочникСсылка.Номенклатура - что он должен вернуть на СсылкаНаОбъект.Проведен ? " - NULL. ВНЕЗАПНО, да?
#29 by Maxus43
>>интересно найти базу где количество записей в регистр превосходит количество чтений
#30 by Sammo
Вопрос был не в том, что вернет, а в том, что он ожидает, что вернет. Если ожидает, что вернет булево, а вернет Null получится сюрприз :)
#31 by Галахад
Подведу итог. 1. Сделал как в . Явно прописал в регистре регистраторы. 2. Получил 1-2 секунды. Спасибо всем. SammoЮ, респект.
#32 by unregistered
Гораздо интереснее что означает реквизит Дата у справочников Контрагенты и Номенклатура. Ведь в запросе есть условие ГДЕ Соответствие1С_и_не1С.СсылкаНаОбъект.Дата МЕЖДУ &ДатаНач И &ДатаКон
#33 by unregistered
Кстати. Ведь уже есть некий параметр &Фильтр. Если предположить, что это фильтр по именам объектов метаданных, то можно собрать текст запроса с явными соединениями к нужным таблицам.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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