[snip]
I don't completely understand your terminology, but it's always faster
to get all of your data with a single query rather than a query per
loop. Of course, the difference is that it also requires more memory. In
general,
if you have the memory, use it. It will always be faster.
[/snip] 

+1

However, there is a point of diminishing returns that we haven't spoken
of. Dependent upon hardware and overhead, the size of the data to be
manipulated (say 10k records vs. 100k records, in numbers or record
size) will play an important part in speed. Always most efficient is the
query once model. Don't forget that inserts and updates always take
longer (especially with indexed columns). For mid-sized (and I know that
for each of us that is defined differently) databases it's a real
balancing act.

One thing that needs to be pointed out here is that you can use PHP and
MySQL to the fullest by planning data manipulation with PHP more
efficiently. It takes more work up front to figure out all of the
details but consider the following examples....

---------------------------------------------------------
$bar = 12;
$sql = "SELECT `foo` FROM `table1` WHERE conditions ";
$result = mysql_query($sql, $connection);
while($row = mysql_fetch_array($result)){
        $insert = "INSERT INTO `table2` (`newFoo`) VALUES ('" . ($bar +
$row['foo']) . "') ";
        $insertResult = mysql_query($insert, $connection);
}
---------------------------------------------------------

or you could do this ....

---------------------------------------------------------
$bar = 12;
$sqlSelectCalculateAndInsert = "INSERT INTO `table2` (`newFoo`) ";
$sqlSelectCalculateAndInsert .= "SELECT (`foo` + " . $bar . ") FROM
`table` WHERE conditions ";
$result = mysql_query($sqlSelectCalculateAndInsert, $connection);
---------------------------------------------------------

HTH

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to