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

Langsame MySQL-Abfrage, Kopieren in tmp-Tabelle mit Filesort

NULL vs NOT NULL -- Verwenden Sie NOT NULL es sei denn, Sie haben einen geschäftlichen Grund für NULL .

Verwenden Sie InnoDB mit entsprechendem PRIMARY KEY auf jedem Tisch. Das geht wahrscheinlich schneller.

"Using index", wo es sinnvoll ist, wird einigen helfen.

product.categoryid = 4871 gehört nicht in den ON -Klausel für vendorimport; verschieben Sie es an ein WHERE Klausel. (Dies wird die Dinge nicht beschleunigen.)

Ihre Abfrage kann nicht weiter optimiert werden – sie muss Führen Sie alle JOINs durch und liefern Sie alle Zeilen.

Aber... Wollen Sie wirklich 3917 Ausgabezeilen? Kannst du damit umgehen? Vielleicht möchtest du nur ein paar davon und könntest sie beim SELECT filtern? Das könnte die Sache beschleunigen.