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

Comment puis-je accélérer cette requête SELECT CONCAT/GROUP BY ?

Créer un index composite sur (state, city) et réécrivez votre requête comme suit :

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

Notez que pour cette requête même, vous pouvez omettre GROUP BY clause :

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

Cependant, cette requête en aura toujours besoin :

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