Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana meningkatkan urutan berdasarkan kinerja dengan bergabung di mysql

Coba singkirkan distinct . Itu adalah pembunuh kinerja. Saya tidak yakin mengapa kueri pertama Anda bekerja dengan cepat; mungkin MySQL cukup pintar untuk mengoptimalkannya.

Saya akan mencoba:

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 ;

Untuk versi ini, Anda ingin indeks di:tracked_twitter(followers_count, id) , twitter_content(tracked_twitter_id, id) , dantracker_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. Apa perbedaan antara MyISAM dan InnoDB?

  2. PHP - Akses MySQL ditolak kesalahan - Bekerja di program lain

  3. mysql + perbarui top n

  4. SQLAlchemy dan bergabung, kami tidak memiliki kunci asing

  5. Pendekatan Ajax untuk mengisi dropdown dinamis kedua berdasarkan pemilihan di yang pertama