Имя: Пароль:
1C
1С v8
Как быстрее всего документ в табл. части которого есть искомое?
,
0 WED
 
25.05.12
16:39
Например мне надо получить список документов "Реализация товаров и услуг", у которых в табличной части "Товары" есть искомая номенклатура?

мой запрос таков:

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Ссылка
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Номенклатура= &Номенклатура


Среди 5000 документов запрос ищет 1.57 секунды.

Другой запрос:

ВЫБРАТЬ
   РеализацияТоваровУслуг.Ссылка
ИЗ
   Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
   РеализацияТоваровУслугТовары.Товары.Номенклатура= &Номенклатура

выдает искомое почти за 2 секунды.


Может как-то быстрее можно?
1 kn
 
25.05.12
16:40
в торговле если делать запрос по регистру накоплений например Продажи может быстрей будет
2 WED
 
25.05.12
16:41
+(0) К тому же в первом запросе мне потом приходится отфильтровывать не проведенные документы, потому что добавление условия по проведенности увеличивает время до 2.3 сек..
3 WED
 
25.05.12
16:42
(1) Увы, нужно без регистров. Да и конфа не типовая.
4 shuhard
 
25.05.12
16:43
(3) сделай критерий,
будет работать мгновенно
5 kn
 
25.05.12
16:43
поди запрос (0) в цикле?
6 х86
 
25.05.12
16:44
(0)для чего тебе?
7 WED
 
25.05.12
16:45
(5) Нет.
(4) Критерий?
8 WED
 
25.05.12
16:45
(6) Для получения списка документов, в которых прошел искомый товар
9 shuhard
 
25.05.12
16:46
(7) критерий для этого и предназначен
10 Fragster
 
гуру
25.05.12
16:46
фигани индекс по полю
11 WED
 
25.05.12
16:46
+(7) Критерий отбора что-ли?
12 shuhard
 
25.05.12
16:47
(11) что ли
13 Fragster
 
гуру
25.05.12
16:47
(9) а кто сказал, что автору нужен отбор в журнале?
14 Pasha
 
25.05.12
16:48
(3) Дык без регистров медленно всегда будет...На то их и придумали, регистры то :)
Так что делаешь новый регистр, перепроводишь все документы и потом получаешь инфу из регистров
15 shuhard
 
25.05.12
16:48
(13) а какое отношение критерий отбора имеет к журналу ?
16 WED
 
25.05.12
16:49
(12) хм. надо посмотреть.
(14) грустно базу за три года перепроводить... хотя мысль про регистр сведений вполне жизнеспособна.
17 acsent
 
25.05.12
16:50
(0) не может такого быть. поменяй местами порядок запросов и удивишься
18 acsent
 
25.05.12
16:50
а также имеет смысл индексировать номенклатуру в тч
19 WED
 
25.05.12
16:51
(17) не удивлюсь. проверял.
(18) уже проверяю...
20 shuhard
 
25.05.12
16:51
(16) критерий не мгновенно построиться, но в разы быстрее перепроведения + бонус
с любой номенклатуры по перейти будет виден список РТиУ
21 х86
 
25.05.12
16:51
(8)и что ты потом с этим списком будешь делать?
22 WED
 
25.05.12
16:52
(21) в обработке дальнейшей использую для различных подсчетов.
23 х86
 
25.05.12
16:53
(21)+ у тебя таб.часть по номенклатуре проиндексирована?
24 WED
 
25.05.12
16:53
упс. я опечатался в (0) с количеством документов. не 5000, а 50.000 :)
25 Fragster
 
гуру
25.05.12
16:53
(15) а зачем плодить таблицы, если можно просто добавить индекс?
26 WED
 
25.05.12
16:53
(23) Была нет. Теперь да. Жду индексацию и проверю время
27 х86
 
25.05.12
16:54
(22)для обработки полторы секунды это нормально
28 WED
 
25.05.12
16:54
(27) Нет, для этой не нормально. Это не отчет. А обработка данных.
29 х86
 
25.05.12
16:54
(26)а ну тогда в разы быстрее будет
30 Бледно Золотистый
 
25.05.12
16:54
(24) для 50к 2 сек - нормально ИМХО
31 х86
 
25.05.12
16:56
(28)ну хз что там у тебя за обработка
32 WED
 
25.05.12
16:56
всё. вопрос можно закрывать. после индексации поля запрос выполняется 0,0028 секунды. однако :)
33 WED
 
25.05.12
16:57
(31) сбор данных при проведении одного документа. поэтому время критично.
34 х86
 
25.05.12
17:02
(33)меняй логику, такой запрос при проведении не кошерно
35 х86
 
25.05.12
17:03
(32)0,0028 - это уже скорее всего из кеша, при реальной работе будет медленее
36 WED
 
25.05.12
17:05
(34) документ делается раз в квартал, не смертельно.
(35) для каждой проверки перезапускал.
37 WED
 
25.05.12
17:05
просто не нравилось как тормозит при запросе... чуял, что упустил что-то и поэтому время запроса такое большое.