|   |   | 
| 
 | 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 запроса и обеденить все. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |