phpbar.de logo

Mailinglisten-Archive

[php] Performance

[php] Performance

Dennis Sterzenbach lists at darknoise.de
Mit Okt 8 16:44:03 CEST 2003


> ++++ Gerd Terlutter wrote on 08.10.2003 15:15 ++++
>
> > Heisst dass, du speicherst ein einziges TXT ? Dann wäre die DB
> > warscheinlich schneller, da du dann nicht immer dein
> Datenzeiger auf
> > bestimmte Zeilen im TXT bewegen/suchen musst. Bei DB gilt aber auch
> > das Backend zu berücksichtigen (mysql 2x schneller pg). Aber
> > vielleicht habe ich die Frage ja auch falsch verstanden,
> ist ein wenig
> > schwammig.
>
> nee, glaube das war schon richtig verstanden. Fragt sich, ob die
> textfiles am 'Ende aller sessions' einfach nur aneinander
> gehängt/gemerged werden oder ob das alles zeitgleich auf einem file
> passiert oder ob nur in ein txtfile pro session geschrieben aber aus
> einem dicken file gelesen wird oder oder oder . . . aber anyway:
> wahrscheinlich schneller und auch sicherer bei dem
> Kuddelmuddel: die DB.
Denke ich auch, dass die DB schneller sein wird.
Allerdings - wenn mehrer INSERTS getätigt werden sollen, wäre es
sinnvoll
diese nicht umgehend an MySQL zu schicken.
Man kann einiges an Performance rauskitzeln, wenn man statt
INSERT INTO test (wert2,wert3) VALUES (1,4);
INSERT INTO test (wert2,wert3) VALUES (4,6);
INSERT INTO test (wert2,wert3) VALUES (9,22);
folgendes macht:
LOCK TABLES test WRITE;
INSERT INTO test (wert2,wert3) VALUES (1,4),(4,6),(9,22);
UNLOCK TABLES
Dadurch werden Zugriffe (flush) auf die Platte gespart.
Bei vielen parallelen Zugriffen auf die DB kann es außerdem vorteilhaft
sein, einen lock zu setzen, da so sichergestellt wird, dass die
Operation
nicht parallel mit/zu anderen abläuft.

Habe es schon ein paar mal erlebt, dass bei mir komische Werte rauskamen
in so einem Fall.


Gruß
  Dennis




php::bar PHP Wiki   -   Listenarchive