Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để tăng tốc truy vấn SELECT CONCAT / GROUP BY này?

Tạo chỉ mục tổng hợp trên (state, city) và viết lại truy vấn của bạn như sau:

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

Lưu ý rằng đối với truy vấn này, bạn có thể bỏ qua GROUP BY mệnh đề:

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

Tuy nhiên, truy vấn này sẽ vẫn cần nó:

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:Lưu trữ mảng dữ liệu trong một cột duy nhất

  2. Chuyển đổi các lựa chọn UNION thành một lựa chọn duy nhất với vòng lặp trong MySQL

  3. Gọi các hàm MySQL trong Lithium

  4. Lỗi khi thả cơ sở dữ liệu (Không thể rmdir '.test \', errno:17)

  5. Codeigniter không cho phép tôi cập nhật mục nhập, vì một số trường phải là duy nhất