Oracle数据库11g新特性:可管理性
2008-12-16 13:01:12 来源:WEB开发网考虑一个名为 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 进行全表扫描,这是因为表中有很多的行都有该值。假定这一组合在将来发生了变化:
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接