Имя: Пароль:
1C
 
Что быстрее в dbf: Прямой перебор с условием или запрос с условием?
Ø
0 VadimTT
 
01.12.04
15:37
Т.е. при большом количестве записей (50000-100000) не выгоднее ли использовать запрос (в котором не интерпритируются команды цикла и может быть условий)?
1 Человек дождя
 
01.12.04
15:39
Уточни вопрос. Ничего не понятно. Запрос всегда быстрее прямого перебора
2 Guk
 
01.12.04
15:40
(0)Выгодней...
3 Guk
 
01.12.04
15:42
(1)>Запрос всегда быстрее прямого перебора
Неверное утверждение...
4 gg
 
01.12.04
15:44
Смотря какие условия. Если условия простые тогда в ДБФ выборка быстрее. Чем сложнее условия тем выгодней запрос.
5 Человек дождя
 
01.12.04
15:45
(3) Приготовился слушать аргументы. Дело в том что при малом количестве записей перебор будет быстрее запроса, но и время выполнения запроса/перебора тоже стремительно уменьшается. На малом количестве записей без разницы что использовать.
Впрочем слушаю аргументы. Может я чего-то не знаю
6 Guk
 
01.12.04
15:50
(5) Я говорю про случай с условием.
Если есть условие, то запрос быстрее перебора.
А вообще вопрос через зад задан.
Может речь вообще про отдельный файл dbf идёт, а не профайл объектов 1С...
7 Uno
 
01.12.04
15:53
2(5)НС писал оброботку где выбирал из справочника в милион записей данные разными способами и там доказано на конкретных примерах что запрос в некоторых случаях работает медленнее иногда почти в 100 раз, поищи в архиве. Основная идея, что если одно из условий можно отобрать через ВыбратьПоРеквизиту
8 VadimTT
 
01.12.04
15:57
2(all) Спасибо за "вопрос через зад" ;-), хотя вполне возможно.
Уточняю условие:
Есть документ Док. У него в шапке есть реквизитЫ: Фирма, Отдел, Клиент.
Документов много.
Нужно заполнить таблицу значений документами, удовлетворяющими простому условию (Док.Фирма = Фирма, Док.Отдел = Отдел, Док.Клиент <> Клиент).
ЗЫ: Наверно правда зря задал вопрос, можно простой обработкой самому замерить время, просто думал мож кто уже замерял.
9 alexd
 
01.12.04
15:57
>0,1,4 А как быстрее из А попасть в Б: на Мерине, на велике или пехом?
10 Человек дождя
 
01.12.04
15:58
1С не позволяет выполнять запросы к отдельным dbf-кам
11 Guk
 
01.12.04
16:02
(8) В твоём случае, запросом будет быстрее, причем намного...
12 Guk
 
01.12.04
16:04
А в принципе, за полчаса и проверить можно было...
13 Муму после всплытия
 
01.12.04
16:06
................ а прямым запросом.................. ооооооооооооооооо
14 Человек дождя
 
01.12.04
16:07
(9) Нет у нас такой случай. Нужно переместиться на расстояние 100 м. На чем быстрее на автомобиле, или на велосипеде?
15 alexd
 
01.12.04
16:08
>11 А если предварительно фирмы, отделы и клиентов поместить в списки значений?
16 Uno
 
01.12.04
16:14
2(10) Слушай может прочтешь сначала факи по 1с, а потом будешь утверждать.
Через Хб я могу поиск по ключу к конкретной дбф организовать. И Адо позваляет с дбф базой работать также как с скл с некоторыми ограничениями.
17 alexd
 
01.12.04
16:16
>14 Перемещение 100м. А путь(траектория)? И что впути встретится? А вообще то все уважающие себя реляционные базы (точнее платформы: Oracle, SyBase и т.д.)отдают сценарий выполнения каждого конкретного запроса на ревизию разработчику. Никогда нельзя однозначно утверждать, что алгоритм, реализованый для какого то типа общего случая будет оптимальным в КАЖДОМ КОНКРЕТНОМ случаею
18 БЖ
 
01.12.04
16:23
0, смотря какие условия запроса. Если, например, идет в запросе идет выборка по проиндекированному полю, то выигрыш будет у запроса, если нет, то пофиг.
19 VadimTT
 
01.12.04
16:50
2(18) Хм, а как в конфигураторе добиться индексации? Включить реквизит в графу отбора?
20 Муму после всплытия
 
01.12.04
17:00
(18)
а ВыбратьПоЗначению() ??