Re: How to get the total number of rows returned by query when using a cursor? - Mailing list pgsql-general

From Tom Lane
Subject Re: How to get the total number of rows returned by query when using a cursor?
Date
Msg-id 17232.1064330792@sss.pgh.pa.us
Whole thread Raw
In response to How to get the total number of rows returned by query when using a cursor?  ("Egor Shipovalov" <pgsql_list@eonline.ru>)
Responses Re: How to get the total number of rows returned by query when using a cursor?
List pgsql-general
"Egor Shipovalov" <pgsql_list@eonline.ru> writes:
> I'm implementing paging through search results using cursors. Is there a
> better way to know total number of rows under a cursor than running a
> separate COUNT(*) query? I think PostgreSQL is bound to know this number
> after the first FETCH, isn't it?

Why would you think that?  In general Postgres doesn't know the number
of rows until it reaches the end of the query.

> On a side note, why queries using LIMIT are SO terribly slow, compared to
> cursors and sometimes even ones without LIMIT?

Generally they're not particularly slow.  Perhaps you should show us the
EXPLAIN ANALYZE results for your problem case.

            regards, tom lane

pgsql-general by date:

Previous
From: "Egor Shipovalov"
Date:
Subject: Re: How to get the total number of rows returned by query
Next
From: "scott.marlowe"
Date:
Subject: Re: About GPL and proprietary software