v7: 1с++ Индексированная таблица - скорость создания индексов #595910


#0 by dk
Исходные 1с 7.7 1с++ MS SQL 2000 получаю запросом таблицу - около 4000 записей выгружаю в индексированную таблицу и создаю 7 индексов, некоторые накопительные типа Инд1, Инд2, Инд1Инд2Инд3, ... Проблема медленно создаются индексы - около 2 минут сначала нашел косяк - индекс по наименованию 50 символов строился, однако при смене индекса с наименования на ссылку - скорость формированию индексов не изменилась. --- Зачем стока индексов? Для того чтобы выводить итоги в различных разрезах. --- Вопросы 1. Можно ли заменить 4 индекса Инд1, Инд1Инд2, Инд1Инд2Инд3, Инд1Инд2Инд3Инд4 только одним Инд1Инд2Инд3Инд4? Если можно, то как пользоваться итогами лишь по части индекса? 2. Поможет ли перенос из индексированной таблицы в темповую таблицу на скуле и построение индексов в темпе? 3. Может есть более простые способы получения итогов в различных измерениях - без использования индексов?
#1 by Гефест
Почему в запросе итоги не посчитать?
#2 by dk
посчитать можно вопрос как их потом из ТЗ вытащить
#3 by leshikkam
Покажи код создания индексов: Может упустил использование модификатора '*'? (по внутреннему представлению) например у тебя в индексе ("индНоменклатура","Номенклатура",0); а вот так: ("индНоменклатура","*Номенклатура",0) будет намного быстрее.
#4 by trad
потенциально отвечающим могут стать интересны селект-лист запроса с типизацией и индексные выражения
#5 by Гефест
как то так .
#6 by Гефест
глава 9
#7 by viktor_vv
А метод индексированной таблицы Группировать чем не устраивает ? В принципе тоже самое, но быстрее и выводить легко.
#8 by dk
верно, без внутреннего представления - тупо через названия колонок запрос нет смысла показывать, а индексные выражения тупо названия колонок, хотя в самих колонках данные типизированы до справочников и документов спасибо, интересно. но в данном случае итоги нужны в нескольких несовпадающих разрезах, например Колонка1Колонка2Колонка3 и потом Колонка1Колонка5 дык потом эту сгруппированную все равно придется перебирать, чтобы до конкретного разреза добраться ---- пока попробую индексы через * задать - думаю должно ускорить до приемлемой скорости
#9 by ЧеловекДуши
4000 - это же мало :) Может стоит подумать об другом методе.
#10 by Mikeware
4к строк - это ж слезки... что-то нечисто... не должно более секунды-двух...
#11 by viktor_vv
"верно, без внутреннего представления - тупо через названия колонок" Че-то я не понял, так ты как задаешь индексное выражение ? Так : ("индНоменклатура","Номенклатура",0); Тогда понятны тормоза.
#12 by dk
угу
#13 by trad
а я запрос и не предлагал показать. ну нет, так нет чо.
#14 by viktor_vv
Ну тогда понятно почему "однако при смене индекса с наименования на ссылку - скорость формированию индексов не изменилась." Добавь модификаторы для внутреннего представления. Вроде как тебе порядок следования не особо важен, так как индексы используешь только для фильтров.
#15 by dk
всем спасибо добавление * в индексное выражение ускорило формирование индексов до менее 1 сек )) да и итоги намного шустрее стали получаться - забегал отчет вместо ползанья
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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