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

Reply via email to