sql >> Databáze >  >> RDS >> Mysql

Jak zlepšit pořadí podle výkonu pomocí spojení v mysql

Zkuste se zbavit distinct . To je zabiják výkonu. Nejsem si jistý, proč váš první dotaz funguje rychle; možná je MySQL dost chytrý na to, aby to optimalizoval.

Zkusil bych:

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 ;

Pro tuto verzi chcete indexy na:tracked_twitter(followers_count, id) , twitter_content(tracked_twitter_id, id) atracker_twitter_content(twitter_content_id, tracker_id) .



  1. jak umožnit přihlášeným uživatelům AKTUALIZOVAT / UPRAVOVAT nastavení/informace profilu

  2. Chyba syntaxe tabulky

  3. Jak povolit vzdálený přístup k databázi PostgreSQL

  4. Laravel Eloquent skupina podle nejnovějšího záznamu