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

Zoptymalizuj zapytanie o powolny ranking

Spróbuj tego:

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

Utwórz indeks na player_team (player_id, id) (w tej kolejności), aby to działało szybko.



  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.connector.errors.InterfaceError:2026 (HY000)

  2. Zapisz tekst arabski w bazie danych MySQL

  3. MySQL i JDBC z rewriteBatchedStatements=true

  4. swing pobiera dane z mysql db do textfield

  5. utwórz pokaz slajdów z obrazów wewnątrz modalnego ładowania początkowego dynamicznie za pomocą PHP