|
На много ли будет быстрее запрос запроса в цикле? | ☑ | ||
---|---|---|---|---|
0
Галахад
гуру
06.03.13
✎
10:57
|
Дано:
Некий табличный документ. У него есть колонка с заполненной расшифровкой тип СправочникСсылка.Номенклатура. Нужно: Отметить цветом разные категории номенклатуры. Вариант 1. Запрос. Пробегаюсь в цикле по строкам. Собираю номенклатуру в параметр. Запросом получаю категорию номенклатуры, и выгружаю тз с двумя колонками "номенклатура" и "категория" Опять пробегаюсь по строкам. Ищу категорию по номенклатуре в тз. Крашу. Вариант 2. Запрос в цикле. Пробегаюсь в цикле по строкам. Запросом получаю категорию номенклатуры, Крашу. |
|||
1
Wobland
06.03.13
✎
10:58
|
на формирование ТабДока влиять ты не можешь, я так понимаю
|
|||
2
Maxus43
06.03.13
✎
10:58
|
на этапе формирования и вывода в ТД красить не вариант? почему после?
|
|||
3
Галахад
гуру
06.03.13
✎
10:59
|
(1), (2) Неа.
|
|||
4
VladZ
06.03.13
✎
11:00
|
За запрос в цикле - пожизненный эцих с гвоздями!
|
|||
5
Wobland
06.03.13
✎
11:01
|
в первом варианте тебе нужно собрать, потом покрасить. 2 хода. во втором - взять и покрасить. 1 ход
|
|||
6
Дядя Вова
06.03.13
✎
11:01
|
(4) Подтверждаю.
|
|||
7
Wobland
06.03.13
✎
11:01
|
+(5) как бы.. на обход документа больше уйдёт. имхо, конечно
|
|||
8
genosse
06.03.13
✎
11:02
|
Правильное решение - формировать сам ТД через СКД.
|
|||
9
Галахад
гуру
06.03.13
✎
11:03
|
(4), (6) Но-но. Иногда можно!
(5) Ну да. А как же эцик? |
|||
10
Reset
06.03.13
✎
11:03
|
Вариант 1.
|
|||
11
genosse
06.03.13
✎
11:03
|
+8 Если этого не можешь сделать, одни фиг медленно, что не придумывай...
|
|||
12
Wobland
06.03.13
✎
11:04
|
(9) эцих никто не отменял. единый запрос выглядит красивше. я б на замер ещё посмотрел
|
|||
13
Галахад
гуру
06.03.13
✎
11:05
|
(12) Основная проблема в том, что я не знаю
какой "средний" размер будет у таблицы. |
|||
14
Wobland
06.03.13
✎
11:06
|
а можно сохранить в ексель, сделать запрос к нему и к (чему там?) справочнику, и последовательно расставить результат в исходном документе ;)
|
|||
15
pessok
06.03.13
✎
11:06
|
а почему (2) никак?
|
|||
16
Wobland
06.03.13
✎
11:07
|
(13) выяснишь, что быстрее будет на 10 тыс. строк, будет яснее ;)
|
|||
17
Reset
06.03.13
✎
11:07
|
(13) Вариант1, безотносительно размера таблицы.
А, нет. Если размер - 1 строка - тогда только вариант 2. |
|||
18
Галахад
гуру
06.03.13
✎
11:08
|
(14) Чо?
(15) Офтоп! (16) Ага. А потом выясниться, что средняя таблица 100 строк... |
|||
19
Wobland
06.03.13
✎
11:10
|
то есть, стоит вопрос: что красивше и правильней? два раза ТабДок обходить или запрос в цикле делать.
//и хрен с ней с производительностью |
|||
20
pessok
06.03.13
✎
11:12
|
(18) а если так
собрать номенклатуру и имя колонки с ней в тз, поместить в ВТ, прицепить категории. потом обходить запрос таким образом ТД.Область(Выборка.ИмяКолонки).ЦветФона блабла |
|||
21
Maxus43
06.03.13
✎
11:17
|
(18) какой оффтоп? обоснуй (1)(2), что-то тут не чисто
|
|||
22
Wobland
06.03.13
✎
11:18
|
(21) файл поступает извне. для дальнейшей переработки было бы удобно покрасить в разные цвета...
|
|||
23
pessok
06.03.13
✎
11:18
|
(21) ну, например, отчет от франя со скрытыми сорцами
|
|||
24
Maxus43
06.03.13
✎
11:19
|
(22)(23) зачем мне телепаты? я хочу услышать автора)
|
|||
25
pessok
06.03.13
✎
11:20
|
(24) разминаемся :)
|
|||
26
GANR
06.03.13
✎
11:23
|
На 20000 записей проверять надо. План запроса может быть разный ещё - может, тот запрос, который в цикле будет по SEEK работать, а тот, который 1 раз - по SCAN. Тогда запрос в цикле может даже быстрее работать.
|
|||
27
cw014
06.03.13
✎
11:25
|
Вариант 1, но без пробега. Не даром у табличной части и у таблицы значений есть метод "ВыгрузитьКолонку"
|
|||
28
pessok
06.03.13
✎
11:27
|
(27) там не ТЧ, там ТабДок
|
|||
29
cw014
06.03.13
✎
11:29
|
(28) Оу. Ну тогда 1
|
|||
30
Defender aka LINN
06.03.13
✎
11:36
|
(5) Второй вариант - ВысотаТаблицы ходов, а не 1.
|
|||
31
palpetrovich
06.03.13
✎
11:50
|
(4) может конечно и прав, но вот свежий пример из жизни:
конфа розница, менять нельзя, при выгрузке этикеток в весы вызывает в цикле процедуру из внешней обработки. Понадобилось внести кучку дополнительной информации, пришлось в этой процедуре внешней обработки добавить запрос по этим данным. Предложи другое |
|||
32
Галахад
гуру
06.03.13
✎
11:53
|
Вобщем на 1000 позиций запрос в цикле работает 3 секунды.
Ну фиг с ним. Эцик, так эцик. |
|||
33
Ахиллес
06.03.13
✎
11:59
|
А зачем в 1 варианте выгружать в ТЗ, чтоб потом перебирать её в цикле? Делай сразу обход выборки запроса.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |