Имя: Пароль:
1C
1С v8
v8: Как ускорить запрос?
🠗 (Волшебник 07.06.2013 13:30)
0 Хранитель Совести
 
07.06.13
11:25
Привет, уважаемые знатоки!
Как ускорить выполнение такого фрагмента кода?

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|    ЗаказПокупателя.Дата КАК Значение,
|    ЗаказПокупателя.Ссылка КАК ЗаказПокупателя
|ИЗ
|    Документ.ЗаказПокупателя КАК ЗаказПокупателя
|ГДЕ
|    ЗаказПокупателя.Дата > &ДатаНачало И
|    ЗаказПокупателя.Дата < &ДатаОкончание";
Запрос.УстановитьПараметр("ДатаНачало", ДатаНачало);
Запрос.УстановитьПараметр("ДатаОкончание", ДатаОкончание);
ТаблицаСвойств = Запрос.Выполнить().Выгрузить();
1 Maxus43
 
07.06.13
11:27
ЗаказПокупателя.Дата МЕЖДУ &ДатаНачало И &ДатаОкончание

хотя ускорения наверное не даст. Запрос ускорять уже некуда
2 ДенисЧ
 
07.06.13
11:27
никак
3 salvator
 
07.06.13
11:28
Период выбрать меньше. Разве что.
4 Mitriy
 
07.06.13
11:28
сделать запрос по регистру...
5 Lys
 
07.06.13
11:29
(0) изменить алгоритм по задаче так, чтобы не требовалось получать хренову тучу документов за большой период...
6 Галахад
 
гуру
07.06.13
11:29
Наверное тормозит "Выгрузить".
7 drcrasher
 
07.06.13
11:29
внимание, вопрос: какую цель преследует ТС этим запросом?
8 Vadim_37
 
07.06.13
11:29
Выбрать регистратор из таблицы остатков или оборотов куда заказ пишет движения, при условии, что нужны только проведенные заказы
9 viktor_vv
 
07.06.13
11:32
Еще вопрос, текущее время выполнения какое. Может он хочет вместо полсекунды выполнить его за 0.1 с .
10 SherifSP
 
07.06.13
11:32
(0) По регистру сделай запрос, посмотри по какому делает движение
11 МихаилМ
 
07.06.13
12:21
(0)
пересоздать  индекс для "Дата"

и проверить (6)
12 H A D G E H O G s
 
07.06.13
12:23
96% того, что тормоза в постобработке.
13 H A D G E H O G s
 
07.06.13
12:23
(11) Вы опять эзоповым языком тут изъясняетесь?
14 Ненавижу 1С
 
гуру
07.06.13
12:24
+(12) наверное все это в цикле
15 BigShmax
 
07.06.13
12:31
ТС затролил и сидит хихикает.
16 Эмбеддер
 
07.06.13
12:37
лучше бы ТС задумался о том, что документы со временем 0:00:00 или 23:59:59 выпадут из выборки, а также почитал про НачалоДня и КонецДня, чем ускорять его
17 Хранитель Совести
 
07.06.13
12:54
(14) как тонко
(16) читал. вопрос в другом, если ты не заметил
18 H A D G E H O G s
 
модератор
07.06.13
12:56
(17) Ветку можно закрывать?
19 BigShmax
 
07.06.13
13:08
(17)  У Вас только вопросы, а где ответы  на заданные Вам вопросы?
20 TormozIT
 
гуру
07.06.13
13:15
ВЫполнить() и Выгрузить() замеряй отдельно. Вероятнее всего результат просто очень большой и потому Выгрузить() долго выполняется.
21 ptiz
 
07.06.13
13:17
Сделал запрос по таблице из 4 млн документов за 1 день.
В выборку попало 10 тыс документов.
Отработало мгновенно. Куда быстрее?
22 Jonny_Khomich
 
07.06.13
13:19
(0) купи новый, мощный компьютер
23 Лефмихалыч
 
07.06.13
13:26
(0) закомментируй строчку
ТаблицаСвойств = Запрос.Выполнить().Выгрузить();
24 NWsFF
 
07.06.13
13:29
Купить мощный сервер, если ускорение будет не достаточно, купить второй и создать кластерный массив, повторять шаг пока запрос не начнет выполнять быстро!
25 Хранитель Совести
 
07.06.13
13:59
(21) У меня за 1 день в выборку попадает 200 тыс. документов.
26 Хранитель Совести
 
07.06.13
14:02
(23) Из серии:
- Как быстро сбросить пару килограмм? - Отрежь руку.
27 Хранитель Совести
 
07.06.13
14:03
Спасибо всем кто откликнулся.
28 ptiz
 
07.06.13
14:53
(25) Чеки?
Ну тогда покупайте супер-сервер.
2 + 2 = 3.9999999999999999999999999999999...