Es stellte sich heraus, dass es sich um ein Indexproblem handelte. Das NULLS-Verhalten der Abfrage stimmte nicht mit dem Index überein.
CREATE INDEX message_created_at_idx on message (created_at DESC NULLS LAST);
... ORDER BY message.created_at DESC; -- defaults to NULLS FIRST when DESC
Lösungen
Wenn Sie NULLEN in Ihrem Index oder Ihrer Abfrage angeben, stellen Sie sicher, dass sie miteinander kohärent sind.
dh:ASC NULLS LAST
ist kohärent mit ASC NULLS LAST
oder DESC NULLS FIRST
.
NULLEN ZULETZT
CREATE INDEX message_created_at_idx on message (created_at DESC NULLS LAST);
... ORDER BY messsage.created_at DESC NULLS LAST;
NULLEN ZUERST
CREATE INDEX message_created_at_idx on message (created_at DESC); -- defaults to NULLS FIRST when DESC
... ORDER BY messsage.created_at DESC -- defaults to NULLS FIRST when DESC;
NICHT NULL
Wenn Ihre Spalte NICHT NULL ist, kümmern Sie sich nicht um NULLEN.
CREATE INDEX message_created_at_idx on message (created_at DESC);
... ORDER BY messsage.created_at DESC;