sql >> データベース >  >> RDS >> Mysql

繰り返されるサブクエリで巨大なクエリを最適化する方法

    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
    
    • 副選択値と列値をSQL変数に割り当てることができます
    • これらの変数は、ステートメントのどこからでも参照できます
    • 変数には、前の行の値が含まれています(設定されている場合)
    • この方法で副選択やその他の値を再利用できます



    1. 列に最適化されたデータ型を選択する方法[innodb固有]?

    2. MySQL UPDATE(PHP / MySQL)での変数の使用

    3. phpを使用してmysqlテーブルにタイムスタンプを保存する

    4. 条件が<>trueの場合にPostgreSQLがnull値を返さないのはなぜですか