postgresql数据库pg_stat_user_indexes不统计索引使用情况
首先检查代码是否满足使用索引条件。
select 前添加explain analyze
例如:explain analyze select * from test where id=1;
如提示:则是正常走了索引的,pg_stat_user_indexes会正常统计
仅参考(
index scan using test_pkey on test(cont=0.00..8.27 rows=1 width=408)(actual time=0.008..0.009 rows=1 loops=1)
index cond:(id=1)
total runtime:0.026 ms
)
如提示:则是未正常走索引
仅参考(
seq scan no test(cost=0.00..1.01 rows=1 width=408)(actual time=0.014..0.0015 rows1 loops=1)
filter:(id=1)
planning time:0.079 ms
execution time:0.029 ms
)
执行set enable_seqscan=off;可以解决此类问题
新增索引后之前走的索引不走了也可以执行explain analyze;