Il s'est avéré que c'était un problème d'index. Le comportement NULLS de la requête n'était pas cohérent avec l'index.
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
solutions
Si vous spécifiez NULLS dans votre index ou votre requête, assurez-vous qu'ils sont cohérents entre eux.
c'est-à-dire :ASC NULLS LAST
est cohérent avec ASC NULLS LAST
ou DESC NULLS FIRST
.
NUL EN DERNIER
CREATE INDEX message_created_at_idx on message (created_at DESC NULLS LAST);
... ORDER BY messsage.created_at DESC NULLS LAST;
NULLS D'ABORD
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;
NON NULL
Si votre colonne n'est PAS NULL, ne vous embêtez pas avec NULLS.
CREATE INDEX message_created_at_idx on message (created_at DESC);
... ORDER BY messsage.created_at DESC;