Имя: Пароль:
1C
1С v8
Помогите ускорить работу запроса!
,
0 _Dynamic_
 
19.09.12
15:29
Всем привет!
Есть простой запрос такого типа

ВЫБРАТЬ    
   ПродажиОбороты.Покупатель КАК Контрагент    
ИЗ
   РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ПродажиОбороты

В базе очень много информации и такой, казалось бы просто запрос, отрабатывает минут 10. Возможно такой запрос можно как-то ускорить? Подскажите пожалуйста! Спасибо!
1 France
 
19.09.12
15:31
файловая??
2 Aprobator
 
19.09.12
15:32
имхается мне, что причина нефига не в запросе. Либо запрос на стороне клиента делается, либо за базой ухода вообще нет никакого.
3 yanejsh
 
19.09.12
15:32
ну поставь отбор, например по контрагенту
4 ironkrab
 
19.09.12
15:33
а какой интервал между периодами?
5 _Dynamic_
 
19.09.12
15:33
Серверная база.
Ребята, мне нужно по всем контрагентам.
6 sda553
 
19.09.12
15:34
ха,ха Обороты убери, запрашивай напрямую регистрнакопления.продажи
7 _Dynamic_
 
19.09.12
15:34
Период за 6 лет. НО! Если формировать по годам в отдельности, то каждый год формируется за секунд 20.
8 ironkrab
 
19.09.12
15:35
(7) И как часто нужно формировать сей отчет?
9 rs_trade
 
19.09.12
15:35
(7) Агрегаты епрст!
10 sda553
 
19.09.12
15:36
и выбрать различные тебе скорее всего надо
11 ОператорПК
 
19.09.12
15:36
попробуй затестить "ВЫБРАТЬ РАЗЛИЧНЫЕ"
12 unregistered
 
19.09.12
15:36
(0) Если регистр оборотный попробуйте создать агрегат по измерению "Контрагент".

Если период очень большой, то можно попробовать указать период агрегата - год.
13 _Dynamic_
 
19.09.12
15:37
unregistered, сейчас попробую!
14 France
 
19.09.12
15:37
если чо - я бы по пути 6 пошел... в этом случае скл-сервер может выкатить свой веский аргумент в счет производительности..
15 Chin
 
19.09.12
15:38
(0) Возможно сам запрос выполняется быстро, но если данных много, то возможно проблема при выводе в табличный документ (особенно с учетом (7))
16 _Dynamic_
 
19.09.12
15:39
Chin, в "консоле запросов" пока гоняю сей запрос!
17 France
 
19.09.12
15:39
тада, надо скрыть интерфейсные элементы вывода данных, заполнить их, а потом сделать видимыми..
18 Chin
 
19.09.12
15:40
(16) Консоль тоже выводит данные в табличный документ... Вроде как... :)
19 France
 
19.09.12
15:40
(16) а какая разница - там тоже нужно выводить данные.
кста, какие характеристики локальной машины?? диск слабый, небось, а 1С пытается эту куеву хучу данных на нем кэшироваать
20 Chin
 
19.09.12
15:42
Узнай сколько реально выполняется запрос - напиши обработку с вызовом запроса и замерь именно выполнение запроса, скорее всего не туда копаешь...
21 France
 
19.09.12
15:44
а так, бессмысленная затея: 6 лет с разворотом по всем контрагентам.. практическая ценность данного отчета обратно пропорциональна количеству контрагентов..
почитай про FASMI
22 _Dynamic_
 
19.09.12
15:44
ОК! Сча буду пробовать! Столько много советов выдали мне тут, не знаю прям с какого и начинать... :)
23 France
 
19.09.12
15:46
для начала озвучь характеристики локального кампутера
24 ОператорПК
 
19.09.12
15:47
(23) ИМХО для начала лучше бы оригинал запроса выложил а не "запрос такого типа "
25 unregistered
 
19.09.12
15:49
(13) Только учтите, что это дело не пяти минут.

Построение и обновление таблиц агрегатов может занять продолжительное время в зависимости от размеров базы, регистра, количества выбранных измерений и периодичности.
26 ОператорПК
 
19.09.12
15:51
(25) да конечно, но по любому быстрей выдет чем попробывать "Выбрать различные" на это нужно уйму времени.
27 _Dynamic_
 
19.09.12
15:54
Решил через агрегаты попробовать, сейчас реструктуризацию делаю, посмотрим что получится
28 Chin
 
19.09.12
15:56
(27) Рекомендую сначала замерить запрос - если проблема все-таки с выводом, то убъешь уйму времени на агрегат, а результата не будет.... Проверить запрос - минутное дело...
29 _Dynamic_
 
19.09.12
16:06
Chin, спасибо за совет!
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший