Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Abfrage dauert über 6 Sekunden

AFAIK, Sie drehen Ihre Daten und ich denke, mit max(case ...) ... group by hat eine gute Leistung beim Pivotieren von Daten.
Ich kann Ihnen vorschlagen, stattdessen diese Abfrage zu verwenden:

select event_date
    , max(case when r.class = 40 then name end) `Class 40 Winner`
    , max(case when r.class = 30 then name end) `Class 30 Winner`
from events e
left join results r on e.event_id = r.result_event and r.position = 1
group by event_date;

[SQL Fiddle-Demo]