Wijzig de zoekopdracht in
WHERE NOT emails."$$meta.deleted" = FALSE
AND (emails."$$meta.created", emails.key) >
('2018-02-13T14:30:35.679075Z', '8c0a3151-bf17-490f-8124-d93f7482624f')
en gebruik deze index:
CREATE INDEX ON emails ("$$meta.created", key)
WHERE NOT emails."$$meta.deleted";
Uitleg:OR
is een prestatieprobleem
. Door het te herschrijven als een lexicografische vergelijking van paren, verwijder je de OR
, en een eenvoudige indexscan vindt de rijen efficiënt. PostgreSQL komt niet langer in de verleiding om de index te gebruiken die de ORDER BY
ondersteunt .