我正在创建一个包含周数列的表。许多查询在where子句中使用周数运行。所以我们在这个专栏上创建一个索引。但由于一年只有53周(52或53),我想检查是否有任何方法可以为列/索引提供此范围,并且它是否会以任何方式改善性能?我正在使用Oracle 11g。
答案 0 :(得分:1)
Oracle在收集优化程序统计信息时会自动确定有关对象的大部分相关信息。它收集行数,不同值的数量,低值和高值等。可以在DBA_TAB_COLUMNS
中查看该信息。 Oracle使用该信息来选择最快的查询计划,而且几乎总是足够好。
默认情况下,对于新的或具有重大数据更改的对象,每天会收集一次优化程序统计信息。如有必要,可以手动收集优化程序统计信息:
begin
dbms_stats.gather_table_stats('USER_NAME', 'TABLE_NAME');
end;
/