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

Поиск
Список
Период
Сортировка
От Vetchinkin Dmitry
Тема Огромная разница по времени между FETCH'ем из курсора и выполнением select'a
Дата
Msg-id 47BB0E6B.4040000@rbc.ru
обсуждение исходный текст
Список 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


Вложения

В списке pgsql-ru-general по дате отправления:

Предыдущее
От: "Evgeny M. Baldin"
Дата:
Сообщение: Исходники "Истории о PostgreSQL"
Следующее
От: Dmitriy MiksIr
Дата:
Сообщение: Аналог distinct для массива