我已经创建了一个表T,其中有一个在列C (btree index)上创建的索引,但是当我运行select查询时,这个索引并没有被使用。
例如:
Explain select * from T where C='xxx'这将按顺序在所有段中搜索,而不考虑我创建的索引。
我使用了以下标志
enable_seqscan = off
enable_bitmapscan = off
enable_indexscan = on我错过了什么吗?请解释一下?
谢谢Ganesh.R
发布于 2012-11-16 22:11:45
w/o explain analyze很难说清楚原因,但有几点:
enable_seqscan = off不会完全关闭seq扫描。seq扫描非常繁重如果表很小(100 - 10k条记录),则按顺序读取它并忽略所有的索引可能会更快
https://stackoverflow.com/questions/6841306
复制相似问题