phpbar.de logo

Mailinglisten-Archive

[php] schnellster Datenbank-Layer

[php] schnellster Datenbank-Layer

Sebastian Mendel lists at sebastianmendel.de
Mit Mar 28 09:24:37 CEST 2007


Yannik Hampe schrieb:
> 
> Sebastian Mendel wrote:
>> Yannik Hampe schrieb:
>>
>>> Ich verwende in allem, was ich jetzt noch mache mit PDO...
>>> PDO ist wirklich toll :-). Vorallem die prepared Statements finde ich
>>> Klasse. Vergiss all' das escapen von Parametern und vergiss das ständige
>>> neuparsen eines Querys.
>>> Besonders wenn du in Schleifen gleiche Querys (mit verschiedenen
>>> Paramatern) immer wieder aufrufst haut das Performancemässig richtig
>>> rein :-).
>> ich will ja keinesfalls behaupten das es nie nötig ist mehrere 'gleiche'
>> Abfragen auszuführen ... aber ich habe es zumindest noch nicht gesehen ...
>> denn meißtens lasen diese sich zu einer zusammenfassen - und das sparrt
>> wesentlich mehr Zeit als alle einzeln zu senden. Oder?
> 
> Wenn du einen Datensatz in eine DB einfügst und die inserted_id
> brauchst, dann wirst du schonmal Schwierigkeiten Insert-Querys
> zusammenzufassen.

stimmt, wenn man parent und child in einer Tabelle hat, ... bin ich aber
bisher auch noch nicht drüber gestolpert, weil wenn dann wären das alles
einzelne Objekte und diese Objekte müssten sich dann das Prepared statement
teilen ... da ist mir der Programmiertechnische Aufwand zu hoch (relativ
gesehen) für den seltenen Fall wo so viele neue 'childs' eingefügt werden.
Zumal das erzeugte Query auch immer nur die Felder enthält die geändert
wurden bzw. vom DEFAULT abweichen - somit wären die Querys auch wieder nciht
imemr gleich.

> Und auch bei Selects kann es durchaus sein, dass du beim nächsten Query
> Daten abhängig vom ersten Abfragen willst (bei einem rekursiven Menü zum
> Beispiel).

na sowas mach ich mit JOINS oder speziellen Tabellen die für Nested Sets
sind ...


>>>> PEAR:DB? War immer als etwas langsam verschrien. Gilt dies nach
>>>> wie vor?
>>> Ist voll in php geschrieben, wenn ich das richtig sehe. pdo ist in c
>>> geschrieben und ein fester Bestandteil von php seit 5.1. Damit hast du
>>> sowohl einen Geschwindigkeitsvorteil und musst dich auch um installierte
>>> Pakete nicht scheren, wenn du mit einer halbwegs aktuellen php-Version
>>> arbeitest.
>> doch, darum muss er sich scheren, weil PDO bei fast allen Distros extra
>> Pakete sind.
> 
> Ich hab's nicht überprüft, sondern mich nur auf die php-manual verlassen:
> "Wenn Sie ein PHP 5.1-Release verwenden, ist PDO bereits enthalten."

ja ich weiß, die beziehen sich aber nur auf die Standerd configure optionen

die Distros nehmen aber vieles raus und packen das in extra pakete

php-mysql
php-ctype
php-pdo
php-pdo-mysql
...


-- 
Sebastian Mendel

www.sebastianmendel.de

php::bar PHP Wiki   -   Listenarchive