Frank (no reg): mysql-Optimierung Indexierung

Beitrag lesen

Hi,

dannge für deine hilfe...sry aba bin halt a schwerer schüler ^^

gern geschehen, nicht jeder hat die Weisheit mit Löffeln gefressen ;)
Ich auch nicht. Habe auch mal unwissend angefangen, allein erfreut darüber dass ich Daten abrufen kann. ...

Für grosse Textfelder gibt es ja nach DBMS die Möglichkeit einen Volltextindex zu erzeugen, er funktioniert etwas anders als die normalen Indexe. Nur die ersten 10 Zeichen eines solchen Feldes als Index zu benutzen hilft dir nicht wirklich, wenn du nach einem Wort mittendrin oder am Ende der 4000 Zeichen suchst. -> Zum "Volltextindex" solltest du online genügend Literatur finden und ansonsten gilt: Probieren geht über Studieren.

Hab schonmal bissle mit EXPLAIN rumgemacht

Ich "mache" für mein Leben gern mit Natasha "rum". ;)   Du solltest via PHPMyAdmin, einem webbasierten Frontend für MySQL in der Lage sein, die Ausgaben von EXPLAIN anzeigen zu lassen, so dass du sie deuten kannst. Via PHP und Script kann ich dir jetzt gar keinen Tipp geben. :(

Wenn ein Index sinnvoll sein könnte, kannst du unter anderem durch Auszählen der Verwendung in

  • WHERE Klauseln
  • JOIN Klauseln
  • und an der Art (Häufigkeit von Werten) der Werte in der Spalte
  • sowie am Änderungsaufkommen für die Tabelle
    grob ermitteln.

Das mit der Häufigkeit wurde imho schon mal hier in dem Thread erwähnt. Eine Spalte die nur 3 verschiedene Werte aufweist, lohnt sich nicht zu indexieren.

Also: Nächste Schritte: Analysiere deine Abfragen, verwende bei mehreren WHERE-Argumenten immer die selbe Reihenfolge, die auch der Reihenfolge der Werte in einem Index (bei zusammmengesetzten) entspricht.

Grüessli
Frank