我有几个列的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