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

Jak poprawić porządek według wydajności za pomocą złączeń w mysql

Spróbuj pozbyć się distinct . To zabójca wydajności. Nie jestem pewien, dlaczego twoje pierwsze zapytanie działa szybko; być może MySQL jest wystarczająco sprytny, aby go zoptymalizować.

Spróbowałbym:

SELECT tt.id
FROM tracked_twitter tt
WHERE EXISTS (SELECT 1
              FROM twitter_content tc INNER JOIN  
                   tracker_twitter_content ttc
                   ON  tc.id =  ttc.twitter_content_id
              WHERE  ttc.tracker_id =  88 AND
                     tt.id =  tc.tracked_twitter_id
             )
ORDER BY tt.followers_count DESC ;

W tej wersji chcesz indeksy na:tracked_twitter(followers_count, id) , twitter_content(tracked_twitter_id, id) i tracker_twitter_content(twitter_content_id, tracker_id) .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql, aby wybrać jeden rekord na każdy miesiąc z sumą rekordów z tego miesiąca

  2. Znajdowanie dokładnej wartości z ciągu oddzielonego przecinkami w PHP MySQL

  3. Ile równych dni znajduje się między dwoma zakresami dat, SQL

  4. Usuń WSZYSTKIE lub poszczególne niedrukowalne znaki z kolumny w mysql

  5. jak policzyć wystąpienie słowa w wielu wierszach mysql db