|
Получить дату последней реализации каждого контрагента | ☑ | ||
---|---|---|---|---|
0
yur4egg
22.12.15
✎
12:18
|
v8: v8: выборка последних документов по контрагентам
Тема рассмотрена здесь, но у меня вопрос о быстродействии: на базе (длительность ведения около 1 года) отрабатывает 2 минуты. Говорят, что это слишком долго. Можно ли как-то оптимизировать ? Так и хочется привести здесь какую-то манипуляцию с ВЫБРАТЬ ПЕРВЫЕ 1 только не могу догнать как )) |
|||
1
mehfk
22.12.15
✎
12:21
|
Выкинь пентиум 3 1999 года и купи нормальный сервер.
|
|||
2
salvator
22.12.15
✎
12:25
|
Условия поставь дополнительные, например, по дате.
|
|||
3
senior
22.12.15
✎
12:28
|
(0) запрос напиши, думаю неск секунд
|
|||
4
salvator
22.12.15
✎
12:30
|
(0) Покажи свой запрос.
|
|||
5
sash-ml
22.12.15
✎
12:42
|
по ссылке в (0) не даты а последние документы, оттого такая печаль
|
|||
6
Мимохожий Однако
22.12.15
✎
12:45
|
Получить дату последней реализации - это скорее всего только начало задачи. Когда озвучена задача полностью, то может оказаться, что уже есть готовый регистр для решения.
|
|||
7
Web00001
22.12.15
✎
12:51
|
(0)Дык это, запрос покажи.
ХЗ чо там,
Но вроде отрабатывает шустро и данные похожи на правду. |
|||
8
yur4egg
22.12.15
✎
12:52
|
"ВЫБРАТЬ
| МАКСИМУМ(ЗаказНаряд.Дата) КАК Дата, | ЗаказНаряд.Контрагент КАК Контрагент |ИЗ | Документ.ЗаказНаряд КАК ЗаказНаряд |ГДЕ | ЗаказНаряд.Проведен | И ЗаказНаряд.СтатусЗН = &СтатусЗН | |СГРУППИРОВАТЬ ПО | ЗаказНаряд.Контрагент"); Даже такой отдельный запрос работает 2 мин. Сервер не Пентиум 2 )) Еще наваял такой запрос: "ВЫБРАТЬ | ВложенныйЗапрос.Дата КАК Дата, | Контрагенты.Ссылка КАК Контрагент |ИЗ | Справочник.Контрагенты КАК Контрагенты | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1 | ЗаказНаряд.Контрагент КАК Контрагент, | ЗаказНаряд.Дата КАК Дата | ИЗ | Документ.ЗаказНаряд КАК ЗаказНаряд | | УПОРЯДОЧИТЬ ПО | Дата УБЫВ) КАК ВложенныйЗапрос | ПО Контрагенты.Ссылка = ВложенныйЗапрос.Контрагент"); Но это вообще я недождался )) Если бы был в движении периодический регистр сведений, я бы через срезу без проблем взял бы последнюю дату. |
|||
9
itlikbez
22.12.15
✎
12:54
|
(8) Думаешь - срез не через запрос работает?
|
|||
10
salvator
22.12.15
✎
12:58
|
(8) Что за бредятина во втором запросе?
Тебе надо получить максимальную дату на каждого контрагента, используй первый запрос и не городи ерунды. |
|||
11
YAGolova
22.12.15
✎
13:01
|
(8) замени вложенный запрос на временную таблицу
|
|||
12
sash-ml
22.12.15
✎
13:08
|
контрагент небось нескольких типов может быть?
тогда надо его выразить |
|||
13
mehfk
22.12.15
✎
13:08
|
(8) А если сделать только так?
ВЫБРАТЬ | МАКСИМУМ(ЗаказНаряд.Дата) КАК Дата, | ЗаказНаряд.Контрагент КАК Контрагент |ИЗ | Документ.ЗаказНаряд КАК ЗаказНаряд |ГДЕ | ЗаказНаряд.Проведен | |СГРУППИРОВАТЬ ПО | ЗаказНаряд.Контрагент"); |
|||
14
yur4egg
22.12.15
✎
13:37
|
Остановился на последнем варианте (13). Работает 75 сек. Всем спасибо за советы!
|
|||
15
mehfk
22.12.15
✎
15:21
|
(14) А что за конфигурация и какой режим работы, сколько документов данного вида в базе?
|
|||
16
hhhh
22.12.15
✎
15:25
|
(14) а статусЗН значит не нужен?
|
|||
17
mehfk
22.12.15
✎
15:45
|
(16) По словам ТС запрос из (13) выполняется 75 секунд, а с условием на статусЗН - две минуты.
Это ужас. Не удивлюсь, что там и документы по пять минут проводятся. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |