我有幾個列的Postgres的表,一列,列最後更新日期時間。我的查詢是獲取開始和結束時間之間的所有更新行。這是我對此查詢的理解,在此查詢中使用WHERE而不是BETWEEN。基本查詢如下:SQL索引優化WHERE查詢
SELECT * FROM contact_tbl contact
WHERE contact."UpdateTime" >= '20150610' and contact."UpdateTime" < '20150618'
我是新創建SQL查詢,我相信這個查詢是做一個全表掃描。如果可能,我想優化它。我在UpdateTime列上放置了一個Normal索引,這需要很長時間才能創建,但使用此索引查詢速度更快。我不確定的一件事是,如果表格變得更大/列更改,必須重新計算此索引。另外,我正在考慮UpdateTime行上的CLUSTERED索引,但是我想問一下如果我有一個優化這個/如果我是在正確的軌道上的優化方法
感謝您的詳細和快速回復。你怎麼看待在這裏使用CLUSTERED索引?是否有更多的工作/成本涉及新的數據插入使用一個與正常的一個? – user1077071