On Mon, Dec 01, 2003 at 03:24:35AM -0500, Robert Cummings wrote:
:
: On Mon, 2003-12-01 at 03:06, Galen wrote:
: >
: > I'm working on some code that deals with a LOT of results from a MySQL
: > database and drops them into an array. It deals with about 17,200
: > results on a very fast box in about 0.5 seconds, which is not too bad,
: > until I realize I may need to call it on about that many results
: > several times in a page.
: >
: > Is there any way to speed things up? Change to a different loop type?
: > Some other technique for pulling the data out of the database faster?
: > My only requirement is that the array format remain unchanged (yes,
: > associative values are important).
: >
: > Here's the code, which seems awfully simple:
: >
: > for($i=0; $i < $num_results; $i++)
: > {
: > $search_results[$i] = mysql_fetch_array($result, MYSQL_ASSOC);
: > }
:
: You might squeeze a little more speed by using the following:
:
: while( ($search_results[] = mysql_fetch_assoc( $result )) !== false );
: array_pop( $search_results );
For large query results, you might consider using mysql_unbuffered_query()
and the while-loop instead of mysql_query() and the for-loop.
Otherwise, if the PHP code is optimal enough, the other obvious place is
to maybe optimize the query itself or that particular MySQL table.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php