Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę przyspieszyć to zapytanie SELECT CONCAT/GROUP BY?

Utwórz indeks złożony na (state, city) i przepisz zapytanie w ten sposób:

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

Zauważ, że dla tego zapytania możesz pominąć GROUP BY klauzula:

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

Jednak to zapytanie nadal będzie go potrzebować:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL PDO przygotowane szybciej niż zapytanie? Tak pokazuje ten prosty test

  2. Instrukcja Mysql SELECT z tablicą php

  3. JSON_EXTRACT() – Zwróć dane z dokumentu JSON w MySQL

  4. Dostęp do kolumny z tabeli aktualizacji w podzapytaniu w mysql

  5. Zapobiegaj wprowadzaniu zduplikowanych danych do bazy danych mysql