sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag snabba upp denna SELECT CONCAT/GROUP BY-fråga?

Skapa ett sammansatt index på (state, city) och skriv om din fråga så här:

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

Observera att för just denna fråga kan du utelämna GROUP BY klausul:

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

Den här frågan kommer dock fortfarande att behöva den:

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


  1. MySQL – Återställ databas för tappad prestandaschema

  2. Varför skapas en GRANT USAGE första gången jag beviljar en användare privilegier?

  3. okänd konfigurationsparameter autocommit i PostgreSQL NodeJS

  4. Hur man förminskar hela strängen med den första med versaler i MYSQL