Sven Rautenberg: mysql-i_* versa mysql_*

Beitrag lesen

Moin!

Drittens: Nur mit mysqli sind die neueren Features in MySQL zu nutzen, z.b. Prepared Statements oder Stored Procedures.

Prepared Statements mag ich nicht :-)

Macht ja nichts.

Der Nutzen hat sich mir noch nicht wirklich erschlossen, aber das kommt vielleicht noch.

Performance dürfte das einzige gültige Argument sein. Wenn du eine lange Liste von Werten in die DB schreiben willst, dann bietet sich ein INSERT an, dass man als prepared statement nutzt, und dem dann nur noch die Massendaten nachliefert. Senkt erheblich Parsing-Zeit in der Datenbank.

Aber wie Du das mit den Stored Procedures meinst, ist mir nicht klar.

Wenn man eine Stored Procedure in die Datenbank tun will, kann dies nur über mysqli_multi_query() geschehen, da mysqli_query() und mysql_query() beim Auftreten des ersten Semikolons im String abschneiden.

Ein mysql_call() konnte ich nicht finden.
Einen SP-Call mittels Query-Statement kann man doch über die normalen mysql_* Funktionen auch schon nutzen?

Hab ich noch nie gemacht, die Doku von MySQL deutet aber darauf hin, dass ein Query mit "CALL" eventuell ein multiples Ergebnis zurückgibt bzw. zurückgeben könnte, weshalb der Query allein schon mit mysqli_multi_query() ausgeführt werden sollte.

Wenn ich richtig gezählt habe, sind 79 Funktionen zuzüglich der Objektinitialisierung durch mysqli() hinzugekommen. Dafür sind 16 Funktionen weggefallen.

Ob man die hinzugekommenen nun wirklich alle braucht, bezweifele ich eben.

Würde man sie nicht brauchen, wären sie nicht hinzugefügt worden.

Viele der Funktionalitäten lassen sich auch durch ein "normales Query" erreichen.
Ist es soviel günstiger, für spezielle Queries eine eigene Funktion zu haben?

Beispiel?

- Sven Rautenberg

--
"Love your nation - respect the others."