PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Requête n'utilisant pas l'index sur l'horodatage sans champ de fuseau horaire

La réponse se trouve dans cette partie du plan d'exécution :

Seq Scan ... (actual ... rows=2876756 ...)
  ...
  Rows Removed by Filter: 141052

Étant donné que presque toutes les lignes sont renvoyées de toute façon, l'utilisation d'une analyse séquentielle et la suppression des quelques lignes filtrées constituent le moyen le plus efficace de traiter la requête.

Si vous voulez vérifier cela, temporairement

SET enable_seqscan = off;

pour que PostgreSQL évite une analyse séquentielle si possible. Ensuite, vous pouvez tester si l'exécution de la requête devient plus rapide ou non.