WernerK: MySQL Lösung JOIN/Subselect <==> PHP Version

Beitrag lesen

Hallo liebe Helfer,
Immer wieder liest man hier im Forum, dass man besser direkte MySQL Abfragen machen soll anstatt es über PHP zu lösen.
Ich möchte mal gerne eure Meinung wissen zu folgender Situation.
Es gibt eine etwas umfangreichere MySQL Abfrage:

  
SELECT B.Kunde, A.IdKd,A.beschreibung, A.maschserien AS SerienNummer  
From  
software A  
LEFT JOIN bestellung B ON B.IdKd = A.IdKd  
WHERE SUBSTRING(A.maschserien, -6) IN  
(SELECT SUBSTRING(X.maschserien, -6)  
From  
software X  
WHERE X.maschserien != ""  
GROUP BY SUBSTRING(X.maschserien, -6)  
HAVING Count(*) > 1  
ORDER BY X.IdKd ASC)  
ORDER BY SUBSTRING(A.maschserien, -6) ASC, A.IdKd ASC  

Diese Abfrage in PhpMyAdmin abgesetzt dauert sage und schreibe 8 Sekunden und liefert mir 285 Datensätze

Das Ganze nun mit PHP umsetzt in zwei Abfragen und mit While Schleifen:

  
$result = mysql_query("  
SELECT  
SUBSTRING(X.maschserien, -6) AS maschcode  
From software X  
WHERE  
X.maschserien != ''  
GROUP BY  
SUBSTRING(X.maschserien, -6)  
HAVING Count(*) > 1  
ORDER BY X.IdKd ASC  
");  
while($var = mysql_fetch_array($result)){  
$result1 = mysql_query("  
SELECT B.Kunde, A.IdKd,A.beschreibung, SUBSTRING(A.maschserien, -6) AS SerienNummer  
From  
software A  
LEFT JOIN bestellung B ON B.IdKd = A.IdKd  
WHERE SUBSTRING(A.maschserien, -6) = '$var[maschcode]'  
ORDER BY SUBSTRING(A.maschserien, -6) ASC, A.IdKd ASC  
");  
while($var1 = mysql_fetch_array($result1)){  
echo "Ausgabe..." ... ";  
}  

Die PHP Lösung liefert mir genau die gleichen Datensätze (natürlich in einer anderen sortierten Ausgabe) aber wesentlich schneller. (ich würde sagen im Millisekunden Bereich)

Die Frage ist nun. Was ist sauberer, besser?

viele Grüsse
Werner