WEB开发网
开发学院数据库Oracle Oracle数据库11g新特性:可管理性 阅读

Oracle数据库11g新特性:可管理性

 2008-12-16 13:01:12 来源:WEB开发网   
核心提示: 考虑一个名为 RES 的表,同时假定列 STATUS 有一个索引,Oracle数据库11g新特性:可管理性(8),SQL> create index in_res_status on res (status);使用 cascade 选项收集该表的统计信息,begindbms_stat

考虑一个名为 RES 的表,同时假定列 STATUS 有一个索引。

SQL> create index in_res_status on res (status);

使用 cascade 选项收集该表的统计信息。

begin
    dbms_stats.gather_table_stats (
        ownname     => 'ARUP',
        tabname     => 'RES',
        estimate_percent=> 100,
        cascade     => true
);
end;

列 STATUS 的值按如下所示分布:

STATUS  COUNT(1)
------- ----------
INVALID     6
VALID    68858

如果您发出一个类似 select res_type from res where status = 'VALID'; 的查询并检查执行计划:

--------------------------------------------------------------------------
| Id | Operation     | Name | Rows | Bytes | Cost (%CPU)| Time   |
--------------------------------------------------------------------------
|  0 | SELECT STATEMENT |   | 68858 | 1075K|  290  (3)| 00:00:04 |
|* 1 | TABLE ACCESS FULL| RES | 68858 | 1075K|  290  (3)| 00:00:04 |
--------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
  1 - filter(STATUS='VALID')

像预期地那样,此操作会对表 RES 进行全表扫描,这是因为表中有很多的行都有该值。假定这一组合在将来发生了变化:

上一页  3 4 5 6 7 8 9 10  下一页

Tags:Oracle 数据库 特性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接