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

MySQL простата заявка за избор е бавна

Със 110 милиона записа не мога да си представя, че има много записи с въпросния ID на песента. Ще имам индекси като

(trackID1, sim )
(trackID2, sim )
(tracksimID, sim)

и направете PREQUERY чрез обединение и се присъединете срещу този резултат

select STRAIGHT_JOIN
      TS2.*
   from
      ( select ts.tracksimID
           from tracksim ts
           where ts.trackID1 = 168123
             and ts.sim > 0.5
        UNION
        select ts.trackSimID
           from tracksim ts
           where ts.trackid2 = 168123
             and ts.sim > 0.5 
      ) PreQuery
      JOIN TrackSim TS2
         on PreQuery.TrackSimID = TS2.TrackSimID
   order by
      TS2.SIM DESC
   LIMIT 0, 100


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изчислим дисковото пространство, използвано от MySQL таблицата от типовете данни на колоните и броя на редовете?

  2. MySQL TINYINT като неподписан

  3. Грешка, когато се опитам да свържа игра с mysql 5.5

  4. Начинаещият в Java се нуждае от помощ при свързване с база данни

  5. добра практика ли е да използвате mysql_free_result($result)?