sql >> Database teknologi >  >> RDS >> Mysql

MySQL simple select-forespørgsel er langsom

Med 110 millioner poster kan jeg ikke forestille mig, at der er mange poster med det pågældende spor-ID. Jeg ville have indekser såsom

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

og lav en PREQUERY via fagforening og slutte sig til det resultat

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. Sammenkæd flere rækker i et array med SQL på PostgreSQL

  2. MySQL Rollback Query

  3. Flere ELLER-klausuler i MySQL

  4. Indsættelse i tabel i rækkefølge