Reihenfolge im QueryPlan
Andreas Müller
mysql at universalware.de
Fr Mär 12 20:37:38 CET 2010
Hallo zusammen,
ich habe ein etwas unschönes Problem mit MySQL 5.1.44.
Eine Abfrage hat unter MyISAM einen anderen QueryPlan als unter InnoDB.
Unter MyISAM ist der Optimizer etwas dumm und führt die Query nicht optimal
aus. Eigentlich müsste ich unter MyISAM nur ein paar Zeilen im QueryPlan
verschieben. Nur leider hab ich noch nichts gefunden womit ich die
Reihenfolge beeinflussen kann.
SELECT wa.workvalue_id,wa.workprocess_id,wa.value,wa.calc,wa.view
FROM workassociation wa
INNER JOIN workprocess wp ON wp.workprocess_id=wa.workprocess_id AND
wp.export=1
INNER JOIN workvalue wv ON wv.workvalue_id=wa.workvalue_id
INNER JOIN workprocess wp2 ON wp2.workprocess_id=wv.workprocess_id AND
wp2.export=1
INNER JOIN vehicle p ON p.ktypnr=wv.ktypnr
WHERE wv.ktypnr=10
AND wv.value IS NOT NULL
AND wa.value IS NOT NULL
AND (((p.aw_fertig=1) AND (wp.std_aw=1)) OR ((p.aw_fertig>1) and
(p.release_quarter<=201002)) OR (wv.special_flag=1))
AND wa.direction_id=3
ORDER BY wa.workvalue_id,wa.sortnr
Gruß,
Andreas