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

Truy vấn MySQL mất hơn 6 giây

AFAIK, bạn đang xoay vòng dữ liệu của mình và tôi nghĩ rằng hãy sử dụng max(case ...) ... group by có hiệu suất tốt trong dữ liệu xoay vòng.
Tôi có thể đề xuất bạn sử dụng truy vấn này thay thế:

select event_date
    , max(case when r.class = 40 then name end) `Class 40 Winner`
    , max(case when r.class = 30 then name end) `Class 30 Winner`
from events e
left join results r on e.event_id = r.result_event and r.position = 1
group by event_date;

[SQL Fiddle Demo]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khi nào sử dụng dấu ngoặc kép, dấu ngoặc kép và dấu ngoặc kép trong MySQL

  2. Làm cách nào để sửa chữa bảng InnoDB?

  3. Laravel - cách cập nhật toàn bộ bộ sưu tập

  4. Giá trị cờ 'Option' của Trình kết nối MySQL ODBC odbc.ini

  5. Cài đặt kích thước trang Innodb