sql >> Databáze >  >> RDS >> Mysql

Jak mohu urychlit tento dotaz SELECT CONCAT/GROUP BY?

Vytvořte složený index na (state, city) a přepište svůj dotaz takto:

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

Všimněte si, že právě pro tento dotaz můžete vynechat GROUP BY klauzule:

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

Tento dotaz jej však bude stále potřebovat:

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


  1. alternativa k indexu bitmap v postgresql

  2. Uložit chybu do databáze MySQL

  3. Jak zvýšit maximální počet připojení v MySQL

  4. Příkaz UPDATE v Oracle pomocí SQL nebo PL/SQL pro aktualizaci POUZE prvního duplicitního řádku