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

So optimieren Sie große Abfragen mit wiederholten Unterabfragen

Verwenden Sie MySQL-Variablen:

SELECT
    @x := ColumnName,
    @y := ColumnName2 + @z,
    @z := (SELECT * FROM SubTable WHERE x = @x),
    (SELECT * FROM Table2 WHERE X = @z),
    (SELECT * FROM Table3 WHERE X = @z)
FROM Table
WHERE
    v = @v
  • Sie können SQL-Variablen Subselect- und Spaltenwerte zuweisen
  • Sie können überall in der Anweisung auf diese Variablen verweisen
  • Die Variablen enthalten ihren Wert aus vorherigen Zeilen (falls gesetzt)
  • Auf diese Weise können Sie Unterauswahlen und andere Werte wiederverwenden