Ich versuche, eine schnellere Abfrage zu erstellen, jetzt habe ich große Datenbanken. Meine Tabellengrößen sind 5 col, 530k Zeilen und 300 col, 4k Zeilen (leider habe ich keine Kontrolle über die Architektur, sonst hätte ich dieses dumme Problem nicht mit einer schlechten db).Erstellen einer schnelleren MySQL-Abfrage
SELECT cast(table2.foo_1 AS datetime) as date,
table1.*, table2.foo_2, foo_3, foo_4, foo_5, foo_6, foo_7, foo_8, foo_9, foo_10, foo_11, foo_12, foo_13, foo_14, foo_15, foo_16, foo_17, foo_18, foo_19, foo_20, foo_21
FROM table1, table2
WHERE table2.foo_0 = table1.foo_0
AND table1.bar1 >= NOW()
AND foo_20="tada"
ORDER BY
date desc
LIMIT 0,10
ich indiziert habe den table2.foo_0 und table1.foo_0 zusammen mit foo_20 in der Hoffnung, dass es für eine schnelleren Abfragen erlauben würde .. ich bin bei noch fast 7 Sekunden Ladezeit .. ist es mir etwas anderes tun können?
Prost
300 Spalten ...? –
wie ich schon sagte, 0 Kontrolle, und ja schrecklich Architected :( – Petrogad
Kennen Sie den Befehl EXPLAIN? Http://dev.mysql.com/doc/refman/5.1/en/using-explain.html – Eli