phpbar.de logo

Mailinglisten-Archive

Select zu komplex für mysql

Select zu komplex für mysql

Andreas Kretschmer andreas.kretschmer at schollglas.com
Mit Jul 29 09:25:13 CEST 2009


In response to Andreas Müller :
> Hallo zusamme,
> 
> > naja, die vorschläge sind immer gleich:
> > vernünftige indices setzen und ggf. per left join vorgeben, wie mysql verknüpfen soll. (so wie Du verknüpfst muss sich das mysql selbst überlegen. Das ist besser, als wenn man es falsch macht, aber wenn Du den Left join richtig machst, dann kannste MySQL da weiterhelfen.).
> > wenn ich mir das anschaue:
> > t1.base_size_q_size_key           = t40.q_size_key
> > (nur als beispiel)
> > sind das beides integer, die in t1 ist als index, die in t40 als primary key definiert?
> 
> dem kann ich nur zum Teil zustimmen. Zum einen ist left join kein
> "performanter ersatz" für einen inner join (nichts anderes ist das
> hier) in dem man mysql vorgibt wie er die query abarbeiten muss.
> 
> Der Optimizer von MySQL ist inzwischen so gut das es so gut wie nie
> vorkommt das man ihm ins Handwerk pfuschen muss. Und selbst wenn dann
> nicht durch den austausch der JOIN-Art sondern durch explizite Angabe

Dir ist schon klar, daß auch die Reihenfolge eine Rolle spielen kann und
Einfluß auf die Größe von Zwischenergebissen hat?

http://www.postgresql-support.de/pgbook/node498.html

> welcher Index an welcher Relation zu verwenden ist.

Das geht wie?


> 
> Der einzige sinnvolle Schritt in dem Problem ist die Analyse des
> "explain". Danach müsste man die Index-Situation prüfen ob an allen

Leider hat der Planner kein Kostenmodell wie z.B. bei PG.


> sinnvollen und notwendigen stellen die richtigen Indizes vorhanden
> sind. Stimmt dann alles und "explain" liefert noch immer "Müll" oder

Bei Tabellen mit 2-3 Zeilen, wie vom Fragesteller geschrieben, bringen
Indexe genau wie viel Vorteil?


Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net
_______________________________________________
Allgemeine Infos zur Liste: http://www.4t2.com/mysql/
Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de

php::bar PHP Wiki   -   Listenarchive