sql >> Database >  >> RDS >> Mysql

Hoe de volgorde op prestatie te verbeteren met joins in mysql

Probeer de distinct te verwijderen . Dat is een prestatiekiller. Ik weet niet zeker waarom je eerste zoekopdracht snel werkt; misschien is MySQL slim genoeg om het weg te optimaliseren.

Ik zou proberen:

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 ;

Voor deze versie wil je indexen op:tracked_twitter(followers_count, id) , twitter_content(tracked_twitter_id, id) , entracker_twitter_content(twitter_content_id, tracker_id) .



  1. MySQL - Update meerdere waarden en WHERE IN

  2. onCreate() van RoomDatabase.Callback() is niet aangeroepen na een succesvolle aanroep van .build()

  3. tabellen en kolommen dynamisch maken met behulp van mysql python connector

  4. MySQL DATE-veld met standaard CURDATE(). NIET DATUM