Ilja: Warum using filesort?

Beitrag lesen

yo,

Warum taucht hier using filesort auf?
Weil die Tabelle nur 7 Einträge hat?

tuning ist wohl das komplexeste thema bei datenbanken und verblüfft auch immer wieder die "fachleute", wenn sie sich einen ausfürhungsplan ausgeben lassen. deswegen gilt die goldene regel, immer alles ausprobieren.

was deine abfrage betrifft, man muss sich vor augen halten, dass ein index kein allheilmittel ist. ein index kann auch eine abfrage verlangsamen. dabei gibt es ein paar handregel, zum beispiel die erwähnte größe der tabelle von dir. bei wenigen datensätzen, macht es einfach keinen sinn, einen index zu benutzen. auch die anzahl der treffer im verhältnis zu der quelle spielt eine rolle. man sagt wenn man nicht mehr als ungefähr 10% der daten sucht, dann lohnt sich noch ein index. willst du aber 50% aller daten einer tabelle auslesen, dann wird der weg über den index eher langsamer sein. auch der inhalt der daten spielt eine rolle, die sogenannte kardinalität. wenn du also daten hast, die sich so gut wie nie unterscheiden, also entweder immer nur einträge in einer spalte ort wie berlin oder hamburg, dann wird ein b-tree index zu keinem gewünschten erfolg führen.

mysql ist nicht mein steckenpferd, aber manchmakl sind es einfach nur kleinigkeiten. bei problemen mit der performance unter oracle zum beispiel vergessen viele einfach die tabellen regelmäßig vom dbms zu analysieren, sprich das sich das dbms mal den genauen aufbau der tabelle anschaut und sich merkt. auf die informationen kann dann der optimierer zurückgreifen. aber auch da gilt, immer ausprobieren....

Ilja