Re: about libpq-C FETCH ALL performance issue

Поиск
Список
Период
Сортировка
От Jeroen T. Vermeulen
Тема Re: about libpq-C FETCH ALL performance issue
Дата
Msg-id 20041115142452.GF90696@xs4all.nl
обсуждение исходный текст
Ответ на about libpq-C FETCH ALL performance issue  (jing han <jing_han_66@yahoo.com>)
Список pgsql-interfaces
On Mon, Nov 15, 2004 at 05:55:01AM -0800, jing han wrote:
> and then  res = PQexec(conn, "FETCH ALL in myportal");
> 
> to get the data. 
> 
> I found when our database has more and more data, res
> = PQexec(conn, "FETCH ALL in myportal"); cost more and
> more time, much more than 

If you use just the FETCH ALL, why are you using a cursor in the first
place?


> Then I try FETCH 1 instead of FETCH ALL, no
> improvement.
Are you doing just one FETCH 1 to obtain a single row, or are you
doing the FETCH 1 in a loop so you get all rows?  The latter would
be extremely slow in any case...  Try fetching smaller blocks, like
maybe 100 rows at a time, and see if that helps.


> I wonder if there is other faster way ( I mean other
> than FETCH ALL command) to get data from database with
> libpq-C, or If you have a patch to make FETCH work
> faster or new release to work better?

Just do a normal "SELECT" without the cursor.  This will give you
all the data at once, just like a FETCH ALL.


Jeroen



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

Предыдущее
От: jing han
Дата:
Сообщение: about libpq-C FETCH ALL performance issue
Следующее
От: L J Bayuk
Дата:
Сообщение: Re: Where is src/interfaces/libpgtcl?