Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

mysql performance

Hallo,
ich hab eine mysql tabelle mit 22 spalten, die daten sind größtenteils optional, dh. etwa 15 der 22 felder könnten leer bleiben...
Frage:
Wie erreiche ich die beste performance?
läuft die db abfrage langsamer ab, je mehr felder es gibt, oder spielt das eher eine unwesentliche rolle? ich könnte meine daten auch mit implode/explode in weiger feldern unterbringen.
was ist effizienter?

Gruß
David

Hier gehts zum Orginal Eintrag "mysql performance" im Forum

Antworten

Hi,

eine Tabelle mit 22 Spalten? Du weisst aber schon was du da tust? Normalerweise würde das jeder vernünftige Mensch in mehrere Relationen aufspalten.
Entschuldigt seist du aber wenn das wirklich die einzig sinnvolle Möglichkeit darstellt - von einem implode/explode rumgefriemel ist übrigens nicht das geringste zu halten.

Olli
http://www.phptutorials.de


2.

leider gehts nicht anders. wenn ich mir durch verknüfungen/relationen was sparen könnte würd ich das sofort machen...

aber noch ne frage: beeinträchtigen die 22 spalten die leistung erheblich?
gibts da erfahrungswerte oder vielleicht einen nützlichen link? evtl auch mit laufzeitangaben?

Gruß
David


3.

22 Spalten: da lacht MySQL höchstens drüber!

Ob Du nun 10 oder 22 Spalten hat, das sollte von der Performance auch mit einer Standardkonfiguration keinen Unterschied machen.

Und solltest Du wirklich einmal denken, daß das schneller ginge, dann überprüfe mal Dein Indizes.

Aus der selben Fragestellung heraus habe ich mal spaßeshalber eine Tabelle mit 1200Spalten erzeugt und dort ca. 4 Mio Datensätze reingeschaufelt. Alles mit einer Standardkonfiguration und OHNE Indizes und das Ding war immer noch schön schnell !

Nur ein Tipp: versuch möglichst BLOB oder TEXT-Felder zu vermeiden. Die ziehen die Performance runter. Eine weitere Geschwindigkeitssteigerung erhälst Du, wenn Du anstelle von VARCHAR ein CHAR -Feld benutzt. Dadurch ändert sich die Tabelle von dynamisch in fixed.
Ich glaube aber nicht, daß diese Änderungen bei Dir einen Unterschied machen würden. 22 Spalten sind noch absolut als normal zu werten! Hängt halt alles von der Aufgabenstellung ab!

Viel Spaß noch!


4.

Was sind denn bitte "Relationen" ?
Ich stehe auch vor dem Problem, dass ich ca. 300 Spalten für eine Tabelle brauche...

Danke,


5.

Zu diesem Thema existiert ein super Tutorial:

http://ffm.junetz.de/members/reeg/DSP/

Hier ließ Dir mal vor allem den Punkt 2.3 über Datennormalisierung durch. Danach wirst Du garantiert keine 300 Spalten mehr benötigen!


Viel Spaß!


Hier gehts zum Orginal Eintrag "mysql performance" im Forum
 
phpforum.de | Impressum | Handy Bundles