hotti: Variable an eine Klasse binden

Beitrag lesen

hi,

Wenn du _eine_ Ergebnismenge erzeugst, kann die mysql(/i/nd)-Extension diese in einem Rutsch in den Speicher holen (das macht sie per Default). Fetchen findet dann von dort statt, ist also nur noch ein Speicherzugriff. Wenn du hingegen ein Prepared Statement mehrfach ausführst, muss dazu jedes Mal ein Roundtrip zum DBMS ausgeführt werden.

Damit habe ich nichts gewonnen, das habe ich jetzt schon.

Kleine Ergänzung, zur Limit-Klause: Hier sind, wie angemerkt, keine prepared Statements möglich, da muss die Abfrage jedesmal neu gebildet werden. Das können wir getrost vergessen, der Performanceverlust ist spürbar.

Mit einem extra Feld jedoch für den Index (lfdnr) ist ein prepared Statement möglich, das wird im Konstruktor erstellt. Hier gibt es keinen Performanceeinbruch, das funktioniert mit Perl und mit PHP einwandfrei (die Iteration über die Tabelle).

Horst H.