sql >> Database teknologi >  >> RDS >> Sqlserver

Optimal forespørgsel efter seneste rekord for hver N

Afhænger af dine data (hvor mange rækker er der pr. gruppe?) og dine indekser.

Se Optimering af TOP N pr. gruppeforespørgsler for nogle præstationssammenligninger af 3 tilgange.

I dit tilfælde med millioner af rækker for kun et lille antal køretøjer ville jeg tilføje et indeks på VehicleID, Timestamp og gør

SELECT CA.*
FROM   Vehicles V
       CROSS APPLY (SELECT TOP 1 *
                    FROM   ChannelValue CV
                    WHERE  CV.VehicleID = V.VehicleID
                    ORDER  BY TimeStamp DESC) CA  


  1. INDSÆT I Tabel fra flere tabeller

  2. MySql Sådan indstilles en lokal variabel i en opdateringssætning (syntaks?)

  3. Tjek sproget for streng baseret på glyffer i PHP

  4. MySQL tilføjer en IKKE NULL kolonne