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