Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment optimiser une énorme requête avec des sous-requêtes répétées

Utilisez les variables MySQL :

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
  • Vous pouvez attribuer des valeurs de sous-sélection et de colonne aux variables SQL
  • Vous pouvez faire référence à ces variables n'importe où dans la déclaration
  • Les variables contiennent leur valeur des lignes précédentes (si elles sont définies)
  • Vous pouvez réutiliser les sous-sélections et d'autres valeurs de cette manière