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

Tối ưu hóa truy vấn xếp hạng chậm

Hãy thử điều này:

SELECT  t.*, cnt
FROM    (
        SELECT  team_id, COUNT(*) AS cnt
        FROM    (
                SELECT  player_id, MAX(id) AS mid
                FROM    player_team
                GROUP BY
                        player_id
                ) q
        JOIN    player_team pt
        ON      pt.id = q.mid
        GROUP BY
                team_id
        ) q2
JOIN    team t
ON      t.id = q2.team_id
ORDER BY
        cnt DESC
LIMIT 50

Tạo chỉ mục trên player_team (player_id, id) (theo thứ tự này) để việc này hoạt động nhanh chóng.



  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 trên dòng thác xóa. Ví dụ kiểm tra

  2. Cuộc gọi Ajax của tôi không hoạt động - Đang cố điền jstree qua ajax php &mysql JSON

  3. Cài đặt MySQL Workbench để quản trị cơ sở dữ liệu

  4. Tích hợp MySQL với Python trong Windows

  5. Mất kết nối với MySQL sau một thời gian và không kết nối lại được