gav*_*koa 4 performance index oracle select performance-tuning
我们有很多:
select count(*) from TBL where XDATE between ? and ? and FLD = ?;
Run Code Online (Sandbox Code Playgroud)
我们希望通过调整XDATE列(具有DATE类型)上的索引来提高性能。
什么类型的索引更适合DATE类型和条件之间?
范围 - 特别是日期范围 - 可能很难调整。这之间有一个不同的词......
where xdate between date '2013-07-01' and date '2013-07-31'
Run Code Online (Sandbox Code Playgroud)
... 和这个 ...
where xdate between date '2003-07-01' and date '2013-07-31'
Run Code Online (Sandbox Code Playgroud)
您希望这两个查询完全不同的访问路径。索引对第一个有帮助,但对第二个可能是灾难性的(取决于所涉及的数据量)。
索引日期的另一个障碍涉及时间元素。如果xdate包含时间元素,那么每个日历日可能有 86400 个不同的值。在大多数情况下,当我们进行日期范围搜索时,我们希望获得当天的所有点击次数,而不考虑时间。
我们不能给出绝对的建议,因为你没有提供足够的细节,但我的一般建议是:
create index tbl_xdate_idx on tbl(trunc(xdate))。| 归档时间: |
|
| 查看次数: |
55478 次 |
| 最近记录: |