|
Оптимизация сортировки в табличной части (по ссылкам) | ☑ | ||
---|---|---|---|---|
0
jackill2611
03.10.12
✎
12:59
|
Есть табличная часть, в обработке, в ней около 6000 строк. Реквизит ТЧ "Документ" имеет составной ссылочный тип данных (ДокументСсылка.ЗаказПокупателя, ДокументСсылка.РеализацияТоваровУслуг и т.п.). Когда с помощью командной панели делаю сортировку по этому реквизиту, это затягивается на 20 сек. Вопрос: как оптимизировать сортировку?
|
|||
1
IronDemon
03.10.12
✎
13:01
|
Ограничить количество строк :)
|
|||
2
DrShad
03.10.12
✎
13:01
|
имхо никак
|
|||
3
DrShad
03.10.12
✎
13:03
|
хотя, а если вывести МоментВремени?
|
|||
4
Maxus43
03.10.12
✎
13:04
|
если вывести доп поле и по нему сортировать то можно, например по Представлению документа. сортировка строки пройдёт быстрей
|
|||
5
jackill2611
03.10.12
✎
13:04
|
(1) дык это вариант известный. (2) я пока тоже так думаю...
|
|||
6
jackill2611
03.10.12
✎
13:04
|
Платформа вроде по представлению и сортирует, вряд ли быстрее будет.
|
|||
7
Maxus43
03.10.12
✎
13:05
|
ну значит нет.
З.ы. платформа по ссылкам сортирует имхо |
|||
8
jackill2611
03.10.12
✎
13:06
|
(7)Это если однотипные данные. Хотя, спорить можно, даже нужно.
|
|||
9
ptiz
03.10.12
✎
13:07
|
(0) Выгрузить и запросом сортировать. Для справочников точно быстрее, проверял и использую.
|
|||
10
jackill2611
03.10.12
✎
13:08
|
(9)Выгружается тоже долго. Представь, выгрузить 6000 строк, сортировать, загрузить... Если про это идет речь.
|
|||
11
jackill2611
03.10.12
✎
13:09
|
Может кто-нибудь знает, что делает платформа при нажатии кнопки "Сортировать" на командной панели (на уровне БД)?
|
|||
12
ptiz
03.10.12
✎
13:10
|
(10) "Выгружается тоже долго" - проверял?
|
|||
13
jackill2611
03.10.12
✎
13:11
|
(12) да
|
|||
14
jump if overflow
03.10.12
✎
13:11
|
(11) в УФ наверно лезет на сервер через каждые 30 строк
|
|||
15
ptiz
03.10.12
✎
13:11
|
Кстати, выгружать не обязательно, запрос по объекту "ТабЧасть" может работать.
|
|||
16
jackill2611
03.10.12
✎
13:11
|
(12) дольше, чем сортировка системой.
|
|||
17
DrShad
03.10.12
✎
13:11
|
(11) мне так кажется что она таки сортирует по моменту времени
|
|||
18
КуплюКровать
03.10.12
✎
13:11
|
выгрузить 6000 строк сравнимо с 20 сек? что то фантастика
|
|||
19
jackill2611
03.10.12
✎
13:12
|
(18), не выгрузить, а Выгрузить, сортировать, загрузить.
|
|||
20
ptiz
03.10.12
✎
13:12
|
(13) Тогда добавить реквизит "Дата" (или что еще нужно тебе для сортировки) в таб.часть обработки и по нему сортировать.
|
|||
21
МихаилМ
03.10.12
✎
13:13
|
(11)
в 7.7 для каждой строчки получала представление отдельным запросом думаю 8.2 тоже самое. глупо сориторать по ссылочному типу |
|||
22
ptiz
03.10.12
✎
13:13
|
(19) Сортируешь, надеюсь, запросом, а не ТЗ.Сортировать("ДокСсылка") ?
|
|||
23
jackill2611
03.10.12
✎
13:15
|
(19) конечно, если перед заполнением табл. части - прямо в запросе и сортирую. Но я говорю про сортировку системным способом - кнопка "Сортировать", когда выбрана колонка "Документ".
|
|||
24
jackill2611
03.10.12
✎
13:15
|
(21) см. (23)
|
|||
25
ptiz
03.10.12
✎
13:24
|
Замерил:
ТЧ с одной колонкой "ДокСсылка": 5000 документов "Реализация" + 5000 "Поступление". Сортировка стандартно: 9 сек. Запрос по ТЧ + Загрузить() <= 1 сек. |
|||
26
jackill2611
03.10.12
✎
13:24
|
Забыл сказать, форма ОБЫЧНАЯ, НЕ управляемая.
|
|||
27
jackill2611
03.10.12
✎
13:25
|
(25) Спасибо, попробую, отпишусь.
|
|||
28
hhhh
03.10.12
✎
13:25
|
(27) индексы в ТЗ не забудь добавить.
|
|||
29
jackill2611
03.10.12
✎
13:30
|
(25), кстати, как лучше выгрузить запросом ТЧ из обработки? Конструктор запроса ее не видит. У меня на уме временная таблица, потом ее сортировать.
|
|||
30
ptiz
03.10.12
✎
13:34
|
Запрос = Новый Запрос("ВЫБРАТЬ
| ТЗ.ДокСсылка |ПОМЕСТИТЬ ТЗ |ИЗ | &ТЗ КАК ТЗ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТЗ.ДокСсылка.Дата КАК ДокСсылкаДата, | ТЗ.ДокСсылка |ИЗ | ТЗ КАК ТЗ | |УПОРЯДОЧИТЬ ПО | ДокСсылкаДата"); Запрос.УстановитьПараметр("ТЗ", Доки); Доки.Загрузить(Запрос.Выполнить().Выгрузить()); |
|||
31
jackill2611
03.10.12
✎
13:41
|
(30) И мне загрузится 2 колонки.
|
|||
32
jackill2611
03.10.12
✎
13:43
|
(30) Но идею понял)) Не все же телепаты ))
|
|||
33
jackill2611
03.10.12
✎
16:10
|
Результат: быстрее работает ТЧ через выгрузку в запрос - сортировать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |