Имя: Пароль:
1C
 
В каком случае запрос лучше перебора?
0 Алеша
 
19.10.04
16:11
Кто может дать общие рекомендации - при построениях отчетов в каких случаях лучше использовать запрос, а в каких - перебор?
1 Рупор абсурда
 
19.10.04
16:17
Правило простое:
Когда быстрее запросом, используй запрос ..., когда быстрее перебором, используй перебор ...
2 gr13
 
19.10.04
16:19
(1) а когда быстрее запрос, и когда быстрее перебор?...
3 !МногоЗнайка
 
19.10.04
16:20
запрос - это тот же перебор. Но, я думаю, основной прикол такой - в запросе получаем выборку, которую можно дальше гонять по всякому; перебор - ну перебежал всю базу, а если надо еще данные - еще раз придется бегать... Т.е. вся штука как раз в хранении результатов.
4 gr13
 
19.10.04
16:24
(3) пробежал базу, потом нужные результаты загнал в ТЗ, потом уже пользуешься ею, чтобы не делать повторно выборку. Раньше запросами не пользовался, не приходилось делать ресурсоемкие выборки. Сейчас сделал одну, и тормозит, даже на небольшой базе, нужно переделать на запрос, все никак не соберусь...
5 Рупор абсурда
 
19.10.04
16:26
(2) Это сложный вопрос ...
Сейчас я для определения пользуюсь интуицией и опираюсь на свой богатейший опыт ..., а раньше бывало делал два варианта и смотрел, какой быстрей ...
6 12345
 
19.10.04
16:45
(0) в случае, если в запросе одна группировка и много документов (>10000) или движений, запрос быстрее. Особенно заметен выигрыш в скорости по оборотному регистру.
7 Алеша
 
19.10.04
16:50
5) А поделись, если можно, все же хоть какими-либо рекомендациями. Все же богатейший опыт...
8 Алеша
 
19.10.04
16:51
6) Уже что-то, спасибо.
9 12345
 
19.10.04
16:58
сказанное справедливо в скл. А вероятнее всего,самый быстрый метод Рег.ВыгрузитьИтоги() для оборотного реристра и затем игры с таблицей значений. При достаточном количестве оперативной памяти можно работать с миллионами записей при терпимом времени формирования отчетов - десятки секунд.
10 HanProg
 
19.10.04
17:03
Всегда запрос лучше, особенно в 8.0
11 Рупор абсурда
 
19.10.04
17:04
(7) Например, если в справочнике есть всего две записи, то для получения выборки по нему, я никогда не использую запрос ...
12 12345
 
19.10.04
17:07
Добавлю, что методы ВыбратьДвижения() и ВыбратьДокументы() в скл при количестве в выборке порядка 100000 чаще всего отрабатывают дольше, чем полное врямя выполнения достаточно простого запроса, а ведь потом надо еще и перебрать саму выборку!
13 Алеша
 
19.10.04
17:07
1), 5) Есть мысль писать два варианта, потом программно вычислять какой будет выгоднее в конкретной ситауции и запускать более выгодный вариант. Т. е. интуиция для решения данной задачи не поможет.
14 Алеша
 
19.10.04
17:09
11) А какое решение ты принимаешь, например при количестве записей, равному 500, 1000, 10000?
15 12345
 
19.10.04
17:10
(11) но перед этим, очевидно, все же делаешь запрос на определение количества записей в справочнике?
16 Рупор абсурда
 
19.10.04
17:15
(15) :))
(14) Вспомнилось почему то:
Не дружил Алёша с мылом,
в результате стал дeбилом ...
17 Рупор абсурда
 
19.10.04
17:16
(14) Не обижайся ... Меня тоже Алёшей зовут ...
18 Алеша
 
19.10.04
17:39
17) Не обижаюсь. Я знаю, что Алешей. Ну а все же, можешь что-либо посоветовать для решения данной задачи?
19 Crew
 
19.10.04
17:43
(18)
Лучший ответ в (5)
Жалко только что интуицией и опытом РА не всем дано воспользоваться :(
20 bsg
 
19.10.04
17:45
Запрос всегда лучше
21 Алеша
 
19.10.04
17:57
Рупор, смори-ка, с тобой не согласны в (20)  :)
22 12345
 
19.10.04
17:59
(20) не всегда. до 1-500 записей - можно сделать быстро и перебором. Все что больше, смотри обсуждение выше.
23 Рупор абсурда
 
19.10.04
18:00
(21) Он просто пока чайник, не имеющий моего богатейшего опыта ...
24 12345
 
19.10.04
18:00
+ и вообще нужно смотреть конкретную задачу!
25 Алеша
 
19.10.04
18:15
24) См. задачу в 13)
26 est
 
19.10.04
19:41
если много памяти запрос однозначно быстрее, при ограниченном размере памяти результат запроса надо куда-то втиснуть - здесь лучше выборка.
27 SHAdowRun_K
 
19.10.04
22:21
(26) И иметь при этом крутой проц :(