Re: pg_fetch_array - Mailing list pgsql-performance

From Richard Huxton
Subject Re: pg_fetch_array
Date
Msg-id 40D6B9B4.4000209@archonet.com
Whole thread Raw
In response to pg_fetch_array  ("Thanks" <Thanks@verymuch.com>)
List pgsql-performance
Thanks wrote:
> Hello....
>
> I would like to know the performance of pg_fetch_array.  Cosider the code:
>
> $query = "select * from foo";
> $result = pg_query( $db, $query );
>
> while ($row = pg_fetch_array($result))
> {
>    $a = $row["a"];
>    $b = $row["b"];
>    $c = $row["c"];
>    $d = $row["d"];
> }
>
> 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?

Not knowing anything in detail about the PHP drivers, I'm almost certain
that all rows are returned to PHP and then pg_fetch_array() reads that
from memory.

> If read database is needed, is there any method to copy all the rows into
> memory by using other command? (because I have a application which needs
> large amount database update/retrieval and I wish the performance of the
> overall applications run faster.)
>
> or other method you would like to recommend in order to make the faster
> response time?

Are you sure that pg_fetch_array() is the problem? Can you give an
example of what you're trying to do with the data?

PS - there's a PHP list too.
--
   Richard Huxton
   Archonet Ltd

pgsql-performance by date:

Previous
From: Andrew McMillan
Date:
Subject: Re: Slow vacuum performance
Next
From: Patrick Hatcher
Date:
Subject: Re: Slow vacuum performance