(DeviceId, MessageCounter DESC)
にインデックスを作成してみてください .
また、次のクエリを試してください:
select *
from "Timestamps"
where DeviceId = 1
and MessageCounter = (SELECT MAX(MessageCounter) FROM "Timestamps" WHERE DeviceID = 1)
推測:パフォーマンスの違いは、DeviceId = 1
が原因である可能性があります DeviceId = 4
よりも多くのページに分散しています .並べ替えによって、一番上の行だけを選択したとしても、一致するすべてのページを掘り起こしているのではないかと思います。