David Johnston wrote
> Your original examples only create the cursor and do not actually use it.
> You should be comparing how long it takes both examples to fetch the first
> 10 pages of records to get a meaningful comparison. It won't matter if
> the DECLARE only takes 3ms in the non-hold case if retrieving the first
> page of records take 2s.
Certainly -
*close all;
begin;
declare mycursor cursor for select * from z order by name;
fetch 10 from mycursor;
commit;
*
- takes 3 ms all.
Each *fetch 10 from mycursor* takes 1-2 ms.
So this is perfectly optimized in transaction. And I wonder why isn't it
optimized for a whole session.
--
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-tp5762401p5762592.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.