预先知道范围时的索引优化

时间:2016-06-16 22:05:11

标签: oracle indexing range

我正在创建一个包含周数列的表。许多查询在where子句中使用周数运行。所以我们在这个专栏上创建一个索引。但由于一年只有53周(52或53),我想检查是否有任何方法可以为列/索引提供此范围,并且它是否会以任何方式改善性能?我正在使用Oracle 11g。

1 个答案:

答案 0 :(得分:1)

Oracle在收集优化程序统计信息时会自动确定有关对象的大部分相关信息。它收集行数,不同值的数量,低值和高值等。可以在DBA_TAB_COLUMNS中查看该信息。 Oracle使用该信息来选择最快的查询计划,而且几乎总是足够好。

默认情况下,对于新的或具有重大数据更改的对象,每天会收集一次优化程序统计信息。如有必要,可以手动收集优化程序统计信息:

begin
    dbms_stats.gather_table_stats('USER_NAME', 'TABLE_NAME');
end;
/