How to create a cursor that is independent of transactions and doesn't calculated when created ?

Поиск
Список
Период
Сортировка
От boraldomaster
Тема How to create a cursor that is independent of transactions and doesn't calculated when created ?
Дата
Msg-id 1372869822695-5762401.post@n5.nabble.com
обсуждение исходный текст
Ответы Re: How to create a cursor that is independent of transactions and doesn't calculated when created ?  (David Johnston <polobo@yahoo.com>)
Список pgsql-general
I wonder how quick is cursor without hold.
I have a data set with 10^7 rows.

*begin;
declare mycursor cursor for select * from z;
commit;
* - this takes 3 ms.

*begin;
declare mycursor cursor with hold for select * from z;
commit;
* - this takes 3 s.

Thus, holdable cursor is getting calculated, obviously.
I cannot use cursor without hold as it requires a connection per query +
client.
But I also don't understand - why cursor with hold should start so much
longer than cursor without hold.

If there any possiblity to have a cursor that as fast as cursor without hold
and as transaction-independent as cursor with hold ?



--
View this message in context:
http://postgresql.1045698.n5.nabble.com/How-to-create-a-cursor-that-is-independent-of-transactions-and-doesn-t-calculated-when-created-tp5762401.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


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

Предыдущее
От: Jake Silverman
Дата:
Сообщение: C User Defined Functions
Следующее
От: David Johnston
Дата:
Сообщение: Re: How to create a cursor that is independent of transactions and doesn't calculated when created ?