I repeat my simple experience for
know about what is going on:
push=# explain analyze select * from jobs where status = 'r';
NOTICE: QUERY PLAN:
Index Scan using idx_jobs_status_r on jobs (cost=0.00..8.57 rows=3770
width=49)
(actual time=19.26..1295.73 rows=5 loops=1)
Total runtime: 1295.85 msec
EXPLAIN
push=# vacuum analyze jobs;
VACUUM
push=# explain analyze select * from jobs where status = 'r';
NOTICE: QUERY PLAN:
Index Scan using idx_jobs_status_r on jobs (cost=0.00..3.12 rows=1
width=49)
(actual time=0.08..1318.36 rows=5 loops=1)
Total runtime: 1318.48 msec
EXPLAIN
push=# reindex table jobs;
REINDEX
push=# explain analyze select * from jobs where status = 'r';
NOTICE: QUERY PLAN:
Index Scan using idx_jobs_status_r on jobs (cost=0.00..3.12 rows=1
width=49) (actual time=0.04..0.15 rows=4 loops=1)
Total runtime: 0.24 msec