Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kueri berkinerja optimal untuk catatan terbaru untuk setiap N

Tergantung pada data Anda (berapa banyak baris yang ada per grup?) dan indeks Anda.

Lihat Mengoptimalkan TOP N Per Kueri Grup untuk beberapa perbandingan kinerja dari 3 pendekatan.

Dalam kasus Anda dengan jutaan baris hanya untuk sejumlah kecil Kendaraan, saya akan menambahkan indeks pada VehicleID, Timestamp dan lakukan

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah Mode Suspect Database SQL ke Mode Normal Dengan Query

  2. SQL Server setara dengan CREATE OR REPLACE VIEW Oracle

  3. Bagaimana menemukan catatan duplikat dengan menggunakan Grup oleh dan Memiliki klausa di SQL Server - Tutorial SQL Server / TSQL Bagian 132

  4. Suka Operator di Entity Framework?

  5. Jumlah Kumulatif SQL Server berdasarkan Grup