Огромная разница по времени между FETCH'ем из курсора и выполнением select'a - Mailing list pgsql-ru-general

From Vetchinkin Dmitry
Subject Огромная разница по времени между FETCH'ем из курсора и выполнением select'a
Date
Msg-id 47BB0E6B.4040000@rbc.ru
Whole thread Raw
List pgsql-ru-general
             Доброе время суток!

    При разработке столкнулись с такой интересной особенностью...
Есть функция возвращающая refcursor одного select'a.

    Обнаружили одну интересную закономерность... Если, допустим, просто
выполнять select, то общее время выполнения будет порядка 300ms. Если
выполнить тотже select с теми же параметрами через функцию и попытаться
получить результат с помощью FETCH ALL FROM "<unnamed portal 1>", то
время выполнения, за которое мы получим все данные, будет сильно
различаться. ( В нашем случае оно доходит до 11s). Причем длительность
FETCH'a почти прямо пропорционально количеству вытаскиваемых записей.

    Подскажите, плз, это особенность Postgres'a или наши кривые руки? А
если второе, то подскажите, плз, в какую сторону стоит рыть...

--

Заранее благодарен,
Ветчинкин Дмитрий

РосБизнесКонсалтинг
Тел. + 7 (095) 363-1111 (доб. 1816)
Факс + 7 (095) 363-1125
E-mail dvetchinkin@rbc.ru
http://www.rbc.ru


Attachment

pgsql-ru-general by date:

Previous
From: "Evgeny M. Baldin"
Date:
Subject: Исходники "Истории о PostgreSQL"
Next
From: Dmitriy MiksIr
Date:
Subject: Аналог distinct для массива