Имя: Пароль:
1C
1C 7.7
v7: ТиС 9.2 Регистр ПартииНаличие
0 shag008
 
29.12.14
23:56
В ТиС 9.2 стал очень долго формироваться запрос по регистру ПартииНаличие.

База крутится на SQL2000. ВыбПоставщик - реквизит на форме.
Товаров в базе - около 10 тыс. позиций. Вчера запрос отрабатывал приблизительно 2-3 минуты. Сегодня - более часа.
ВыбТМЦ тоже реквизит на форме. Если выбрать в ВыбТМЦ конкретную группу товаров, то запрос отрабатывает быстро. По всем товарам - очень долго. Куда копать?

текст запроса

ЗапросПост = СоздатьОбъект("Запрос");
ТекстЗапросаПост =
"//{{ЗАПРОС(Себестоимость)
|Период с КонПериод по КонПериод;
|Номенклатура = Регистр.ПартииНаличие.Номенклатура;
|Поставщик    = Регистр.ПартииНаличие.Партия.Поставщик;
|Количество   = Регистр.ПартииНаличие.Количество;
|СуммаУпр     = Регистр.ПартииНаличие.СуммаУпр;
|Функция КоличествоКонОст = КонОст(Количество);
|Группировка Номенклатура без упорядочивания без групп;
|Условие(Поставщик в ВыбПоставщик);
|Условие(Номенклатура в ВыбТМЦ);
|"//}}ЗАПРОС
;  
        //Если ВыбПоставщик.Выбран()=1 тогда
Если ЗапросПост.Выполнить(ТекстЗапросаПост) = 0 Тогда
    Возврат;
КонецЕсли;
1 Cap_1977
 
30.12.14
00:04
(0) В сторону закрытия регистра копай... он не закрывается у тебя
2 shag008
 
30.12.14
00:09
(1) это могло произойти за один день? Так резко? В течении года работало нормально
3 Cap_1977
 
30.12.14
00:15
(2) Тогда стандартно ТИИ на копии, поиск пустых дат документов, проверка на закрытие регистра
4 shag008
 
30.12.14
13:26
апну
ТиИ не помогло, реиндексации средствами sql тоже
пустых дат вроде тоже нет. Делал выгрузку/загрузку средствами 1С - результат нулевой. Что ещё попробовать?
5 Mutniy2
 
30.12.14
13:35
(4) > Что ещё попробовать?
SQL-Профайлер и смотрим чем занимается скуль при калькуляции запроса.
6 Джинн
 
30.12.14
14:09
Регистр.ПартииНаличие.Партия.Поставщик; - это очень нехорошее решение. Слишком много обращений через точку.
7 varelchik
 
30.12.14
14:28
(0) Прямые запросы не предлагать?
8 floody
 
30.12.14
14:52
(6) всего лишь одно соединение добавляется, а не "слишком много обращений через точку"
9 shag008
 
30.12.14
14:56
(7) пока смотрю на штатные методы. Всё как-то внезапно произошло
10 varelchik
 
30.12.14
14:57
(9) Чудес не бывает.
Смотри в сторону того что изменялось.
11 shag008
 
30.12.14
14:59
(10) было проведено перемещение с розн.склада на оптовый, 4500 позиций. Отменял это перемещение - всё равно тормоза
12 Злопчинский
 
30.12.14
15:21
Если запрос по всем товарам то условие в запросе вообще убрать
13 shag008
 
30.12.14
16:04
(12) там иногда по группе товаров надо. И кстати, когда выбрана группа, то всё довольно быстро формируется.
14 НЕА123
 
30.12.14
16:11
(13)
>там иногда по группе товаров надо
вот и ставь условие "иногда".
слушайся (12)
15 shag008
 
30.12.14
17:17
(12) не спасло
16 vcv
 
30.12.14
20:22
Большая (4500 позиций в перемещении) нетипичная операция могла испортить статистику. И SQL делает неоптимальный план. Попробовать обновить статистику.
Могла возрасти фрагментированность индексов, но это вряд-ли так сильно повлияет.
К тому же была помянута выгрузка/загрузка средствами 1С.
Смотри для начала через SQL-профайлер. Чем там SQL занимается.
Для ускорения запроса штатными методами попробуй (самореклама) http://infostart.ru/public/64620/