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

このSELECTCONCAT/ GROUP BYクエリを高速化するにはどうすればよいですか?

    (state, city)に複合インデックスを作成します クエリを次のように書き直します:

    SELECT  CONCAT_WS(', ', city, state) AS location, AVG(latitude), AVG(longitude) 
    FROM    places
    WHERE   state='NY'
            AND city='New York'
    GROUP BY
            state, city
    

    このクエリでは、GROUP BYを省略できることに注意してください。 条項:

    SELECT  'New York, NY' AS location, AVG(latitude), AVG(longitude) 
    FROM    places
    WHERE   state='NY'
            AND city='New York'
    

    ただし、このクエリには引き続き必要です:

    SELECT  CONCAT_WS(', ', city, state) AS location, AVG(latitude), AVG(longitude) 
    FROM    places
    WHERE   state='NY'
    GROUP BY
            state, city
    


    1. varchar(255)vs tinytext / tinyblobおよびvarchar(65535)vs blob / text

    2. MySQLの列名のワイルドカード

    3. MySQL行の値をコンマなどと組み合わせる

    4. Oracle11gで実際の実行計画を取得する