Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да подобрим реда по производителност с съединения в mysql

Опитайте да се отървете от distinct . Това е убиец на представянето. Не съм сигурен защо първата ви заявка работи бързо; може би MySQL е достатъчно умен, за да го оптимизира.

Бих опитал:

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 ;

За тази версия искате индекси на:tracked_twitter(followers_count, id) , twitter_content(tracked_twitter_id, id) и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. Запазване на идентификатора във Facebook като int или varchar?

  2. Добавяне на връзка едно към много към самореферентен родител/дете

  3. Изпратете текущите GPS координати към mySQL базата данни с помощта на API на google maps

  4. Как се използват реактивните потоци в Slick за вмъкване на данни

  5. Как мога да направя ПЪЛНО ВЪНШНО ПРИСЪЕДИНЕНИЕ в MySQL?