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

Kueri SQL dijalankan dengan lambat (untuk beberapa nilai parameter)

Coba buat indeks di (DeviceId, MessageCounter DESC) .

Coba juga kueri ini:

select * 
   from "Timestamps"
   where DeviceId = 1
   and MessageCounter = (SELECT MAX(MessageCounter) FROM "Timestamps" WHERE DeviceID = 1)

Hanya menebak:Perbedaan kinerja mungkin karena DeviceId = 1 tersebar di lebih banyak halaman daripada DeviceId = 4 . Dengan menyortir, saya menduga Anda sedang mengeruk semua halaman yang cocok, bahkan jika Anda akhirnya hanya memilih baris atas.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kembalikan Daftar Kolom yang Dihitung di SQL Server

  2. Temukan catatan duplikat dalam tabel menggunakan SQL Server

  3. Perkirakan Penghematan Kompresi Data di SQL Server

  4. SQL Server 2005:Mengimpor data dari SQL Server 2000

  5. Membuat kolom yang dihitung di SQL Server 2008