2
我有一個約1000萬行的表和一個日期字段上的索引表。當我嘗試提取索引字段的唯一值時,即使結果集只有26個項目,Postgres仍會運行順序掃描。爲什麼優化器選擇這個計劃?我能做些什麼避免它?Postgres是一個執行順序掃描,而不是索引掃描
explain select "labelDate" from pages group by "labelDate";
QUERY PLAN
-----------------------------------------------------------------------
HashAggregate (cost=524616.78..524617.04 rows=26 width=4)
Group Key: "labelDate"
-> Seq Scan on pages (cost=0.00..499082.42 rows=10213742 width=4)
(3 rows)
您的統計數據是最新的嗎? –
是的,我運行分析完整和重新索引 –
我想你會有更好的機會在http://dba.stackexchange.com/ –