v7: Оптимизация запроса 1с 7.7 #793450


#0 by Gera1t
Здравствуйте! Есть база 1с 7.7 полностью самописная. Номенклатура около 200000 Отбор это поле на форме Использую вот такой запрос в отчетах, но выполняется долго, около 3-4 минут. Подскажите пожалуйста как можно оптимизировать запрос, что бы он выполнялся быстрей. Спасибо!
#1 by Джордж1
Перебором может и быстрее получится
#2 by Gera1t
Одинаково примерно, я проверял
#3 by Gera1t
В 8 же запросы в разы быстрей, почему в 7 так не работает?
#4 by Базис
Если отборы фиксированные, то храни готовые наборы в ТЗ, но следи за необходимостью обновления этих наборов. ТЗ формируй при запуске или по кнопке.
#5 by Gera1t
Это в отчетах, отборы разные
#6 by Ёпрст
select id [Номенклатура $Справочник.Номенклатура] from $Справочник.Номенклатура where id in (select val from #Отбор)
#7 by fedoss
А в поле "Отбор" что? Группа? Возможно проблема в разветвленном справочнике и долгой проверке на вхождение в группу. Нет возможности сформировать быстро список вложенных групп и проверить на родителя?
#8 by Gera1t
Отбор может быть и группа и элемент справочника
#9 by fedoss
При выбранном элементе работает тоже 3 минуты?
#10 by VladZ
База DBF? Или SQL? Сетевая? Или в терминале?
#11 by Gera1t
База файловая, в терминале Если выбрать элемент так же долго формирует
#12 by Gera1t
А перевод на SQL решит проблему? И как то самописную конфигурацию специально адаптировать под SQL нужно?
#13 by VladZ
Файловая в терминале - это хорошо.  Попробуй вариант .
#14 by VladZ
Перевод на SQL прироста производительности не даст. Надежность повышается.  Скорость можно получить, переписав на прямые запросы.
#15 by Gera1t
Я не понял как это реализовать, не когда так не делал, если не сложно вкратце хотя бы направление что искать, потому что не понимаю о чем речь
#16 by fedoss
Хрень какая-то. Не может он один элемент по индексу искать 3 минуты. К тому же в относительно маленькой таблице.
#17 by olegves
гугли 1с++
#18 by Базис
Попроси Ёпрста за деньги или сам читай про прямые запросы.
#19 by Gera1t
Базу писал не я, мне приходится разбираться, много что криво написано. Хотя бы то, что база для торговли написана полностью на бухгалтерских итогах, и совсем не используются регистры. Спасибо!
#20 by МихаилМ
#21 by МихаилМ
+ тоже + про группировки
#22 by Builder
В данном случае такой запрос к справочникам на SQL отработает гораздо быстрее, чем на DBF, проверено. На SQL надежность выше, но своих проблем хватает, надо будет оптимизировать базу/запросы.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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