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 по дате отправления: