|
Postgre ??? Простейший запрос висит | ☑ | ||
---|---|---|---|---|
0
tixis
17.12.14
✎
13:30
|
Добрый день, подскажите по постгре. Ситуация: Запрос
ВЫБРАТЬ АктуальныеЦены.Номенклатура, АктуальныеЦены.Номенклатура.Код КАК Код, АктуальныеЦены.Цена, АктуальныеЦены.ЕдиницаИзмерения, ЕСТЬNULL(СтарыеЦены.Цена, 0) КАК ЦенаСтарая, ЕСТЬNULL(СтарыеЦены.ЕдиницаИзмерения, 0) КАК ЕдиницаИзмеренияСтарая ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонДата, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура, (ТипЦен).* КАК ТипЦен}) КАК АктуальныеЦены ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НачДата, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура, (ТипЦен).* КАК ТипЦен}) КАК СтарыеЦены ПО АктуальныеЦены.Номенклатура = СтарыеЦены.Номенклатура И АктуальныеЦены.ЕдиницаИзмерения = СтарыеЦены.ЕдиницаИзмерения И АктуальныеЦены.ТипЦен = СтарыеЦены.ТипЦен В постгре висит очень долго, даже не дождался завершения работы, в sql выполнился быстро. Платформа 8.1. Это из за нсатроек постгре или из за чего? |
|||
1
ssh2QQ6
17.12.14
✎
13:36
|
не знаю особенностей постгре на практике, ну сделай через временные таблицы
|
|||
2
ansh15
17.12.14
✎
13:49
|
||||
3
Gepard
17.12.14
✎
14:04
|
(0) а после установки ему было разрешено использовать больше 30Мб? )
|
|||
4
thezos
17.12.14
✎
14:11
|
(1) Конечно же в настройке постгреса.
|
|||
5
pmb
17.12.14
✎
14:19
|
(0) на Postgree луше не использовать срезпоследних
|
|||
6
pmb
17.12.14
✎
14:20
|
(5) где-то на ИТС есть статья. Переписывате запрос без виртуальной таблицы СрезПоследних
|
|||
7
tixis
17.12.14
✎
14:22
|
Всем спасибо, сейчас проверю все варианты
|
|||
8
pmb
17.12.14
✎
14:22
|
(7) убирай срез последних - без вариантов )
|
|||
9
Chai Nic
17.12.14
✎
14:23
|
Левое соединение с виртуальной таблицей == левое соединение с подзапросом == nested loop без вариантов == тормоза
|
|||
10
Chai Nic
17.12.14
✎
14:24
|
Пихай срез во временную таблицу и соединяй с ней по индексированному полю
|
|||
11
cons74
17.12.14
✎
14:35
|
(6)http://its.1c.ru/db/metod8dev#content:4208:hdoc
Оптимизация использования виртуальной таблицы СрезПоследних при работе с PostgreSQL Проблема При работе с PostgreSQL использование соединения с виртуальной таблицей СрезПоследних может приводить к существенному снижению производительности. Из-за ошибки оптимизатора может быть выбран неоптимальный план выполнения запроса. Решение Если в запросе используется соединение с виртуальной таблицей языка запросов "1С:Предприятия" СрезПоследних и запрос работает с неудовлетворительной производительностью, то рекомендуется вынести обращение к виртуальной таблице в отдельный запрос с сохранением результатов во временной таблице. |
|||
12
an-korot
17.12.14
✎
14:38
|
странный запрос, обращаться 2 раза к 1 таблице вторым запросом внутри 1, удивляюсь почему скуэль не тормозит )) наверняка на несколько секунд задумывается...
сделай 2 запроса и обеденить все. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |