Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Вопрос по индексам и порядку измерений в отборе РН, таблица остатки.

Вопрос по индексам и порядку измерений в отборе РН, таблица остатки.
Я
   Demetry
 
29.06.21 - 12:47
Цитата из книги Профессиональная разработка 1С
"Если не применять условие отбора по первому измерению Номенклатура, а применить условие отбора по измерению Склад (листинг 11.88), для получения данных таблицы
итогов система сможет применить индекс Период + Номенклатура + Склад."
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ТоварыНаСкладахОстатки.Склад КАК Склад,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &СкладОтбора)
КАК ТоварыНаСкладахОстатки

Не могу понять , я то всегда думал что отборы нужно ставить последовательно по полям регистра накопления , получается это не так ? Типо поставил отбор по какому хочешь полю и индекс прекрасно работает ?
   ДенисЧ
 
1 - 29.06.21 - 12:49
"отборы нужно ставить последовательно по полям регистра накопления , получается это не так ?"
да, это не так.
Выражение И коммутативно.
Важен порядок полей в таблице, а не порядок предикатов в запросе.
   Волшебник
 
Модератор
2 - 29.06.21 - 12:51
Выбор индекса в общем случае непредсказуем. Это решает планировщик запроса конкретной СУБД прямо в онлайне, опираясь на статистику.

Чем жёстче отбор в параметрах виртуальной таблицы, тем лучше, но не всегда.
   Почему 1С
 
3 - 29.06.21 - 13:04
(0) Частичное использование индекса <> индекс прекрасно работает
   H A D G E H O G s
 
4 - 29.06.21 - 13:07
(0) Ну она применит Индекс, но прочитает тебе все страницы индекса на дату.
   Demetry
 
5 - 29.06.21 - 13:21
Понятно , я то грешным делом подумал неужто она применит индекс для период и  Склад , а сосклада прочитает уже все его номенклатуру.
   Demetry
 
6 - 29.06.21 - 13:34
Спасибо)

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.