Skip site navigation (1) Skip section navigation (2)

Re: pg_fetch_array

From: Rod Taylor <pg(at)rbt(dot)ca>
To: Thanks <Thanks(at)verymuch(dot)com>
Cc: Postgresql Performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: pg_fetch_array
Date: 2004-06-20 20:02:17
Message-ID: 1087761736.64388.83.camel@jester (view raw or flat)
Thread:
Lists: pgsql-performance
> Does php need to read database everytime when pg_fetch_array is executed in
> the while loop or all the rows have been in the memory after pg_query?

You may need to ask the php people about this one. The PostgreSQL
protocol would allow data to continue streaming in at the same time as
you are processing other rows (asynchronous retrieval). So, optionally
they may fetch and cache all rows in local memory at pg_query OR grab
them in sets of 1000 rows and cache that (fetching the next set when the
first set runs out) OR grab one row for each fetch.

You could run a simple select that will fetch 100M rows from a table
with no WHERE clause. See how quickly the first row come in, and how
much memory is used by the process.

I suspect they call all of the rows at pg_query execution. Otherwise
they wouldn't know how to respond to a pg_num_rows() call.


On a side note, that is a rather unique email address.


In response to

pgsql-performance by date

Next:From: Andrew McMillanDate: 2004-06-21 10:11:49
Subject: Re: Slow vacuum performance
Previous:From: Tom LaneDate: 2004-06-20 18:45:06
Subject: Re: Indexing question

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group