phpbar.de logo

Mailinglisten-Archive

[php] MySQL Geschwindingkeit

[php] MySQL Geschwindingkeit

Johann-Peter Hartmann php_(at)_phpcenter.de
Thu, 24 May 2001 13:11:37 +0200


Hi Stephen,

Stephen Doe schrieb:

> Wie lange dauert etwa ein Zugriff auf MySQL (für eine Person) Wenn etwa 5
> Leute zur Gleichen Zeit Eine Anfrage auf etwa 15 Einträge gleichzeitig
> stellen. Also etwa 75 Anfragen Zur selben Zeit.
> Wäre euch dankbar für Antworten. Würde nämlich gerne wissen, ob es nicht
> vielleicht besser wäre auf "normale" Text-Files statt auf MySQL zu bauen.

	MySQL ist darauf ausgelegt, Select-Abfragen mit hoher Geschwindig-
	keit zu beantworten.
	Deshalb werden z.B. alle Tabellen vorher geöffnet, und es
	werden Threads benutzt, um die Kosten für einen neuen
	Prozess zu sparen.

	Es nutzt zwar nicht so ausgeklügelte Caching-Mechanismen
	wie das ein Oracle machen würde, aber es sollte trotzdem
	schneller sein als ein Textfiles, da z.B. über Indizes
	nachgeschlagen werden kann, bevor jede Zeile angeschaut
	werden muss.

	Probleme mit parallelen Zugriffen hat MySQL nur in manchen
	Fällen:
	- bei dem Standardformat der zugrundliegenden Tabellen-
	  meist MyISAM - gibt es bei Schreibzugriffen ein Locking
  	  über die komplette Datei. Also: Inserts kosten Zeit.
	  Abfangen kann man das z.B. über ein "insert delayed" .
	- Updates sind auch langsam und locken.
	- wenn die Einträge nicht hintereinander stehen -
	  wie z.B. in einem Index oder auch als Primärsortierung,
	  dann wirds auch langsam, weil der HD-Kopf Kilometer
	  zurücklegt - wenn es nicht vom Filesystem gecached wird.

	Bei unter 10 einfachen Abfragen pro Sekunden wuerde ich
	aber keine Probleme erwarten.

	Viele Grüße, Johann




php::bar PHP Wiki   -   Listenarchive