Ich brauche Hilfe, um diese MySQL-Abfrage für bessere und schnellere Leistung zu optimieren.
Hier ist das SQL FIDDLE
mit Abfrage- und Tabellenstruktur.
im Grunde habe ich zwei Tabellen
Jetzt möchte ich alle Auktionen kategorieweise zählen, sowie, wenn eine Kategorie Unterkategorie hat, dann diese Auktion zur Hauptkategorie summieren
Ich habe unten Abfrage gemacht
%Vor%Obwohl die obige Abfrage die erwarteten Ergebnisse zurückgibt Aber Ich denke, dass es möglicherweise einen optimierten Weg gibt, dies zu lösen. Bitte leiten Sie mich und schlagen Sie mir optimierte Abfrage vor.
Danke
Die Leistung des Testens ist der Dateiort, der von einem der GROUP BY
s und / oder UNION
ausgelöst wurde. Sie können die Abfrage ohne UNION
wie folgt umschreiben:
Dies hat den gleichen Effekt (doppelte Zählung jeder Auktion, einmal unter ihrem Subcat, einmal unter der übergeordneten Katze) und EXPLAIN
zeigt keinen filesort. Wenn dies der Fall ist, wenn die Daten größer werden, können Sie versuchen, den ORDER BY NULL
Trick hinzuzufügen.
Auch wenn die Echtzeitgenauigkeit nicht sehr wichtig ist, aber die Abfrage häufig ausgeführt wird, sollten Sie das Ergebnis zwischenspeichern.
Tags und Links mysql query-optimization