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.