Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Proste zapytanie wybierające MySQL działa wolno

Przy 110 milionach rekordów nie wyobrażam sobie, żeby było wiele wpisów z danym numerem toru. Miałbym indeksy takie jak

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

i wykonaj PREQUERY przez związek i dołącz do tego wyniku

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. Porównywanie dat w MySQL z pominięciem części czasu w polu DateTime

  2. Jaka jest lepsza strategia przechowywania danych dziennika w bazie danych?

  3. Wysyłanie danych formularza do MySQL za pomocą nodejs w/ Express

  4. Średni czas odpowiedzi na wiadomość

  5. MySQL EXPLAIN 'typ' zmienia się z 'zakres' na 'ref' po zmianie daty w instrukcji where?