Oracle 11g R1中的统计收集增强
2008-09-02 12:45:57 来源:WEB开发网如果将初始化参数OPTIMIZER_PENDING_STATISTICS设置为TRUE(默认为FALSE),优化器就可以使用挂起的统计。在会话层修改这个参数允许你测试在发布挂起的统计之后有何影响:
alterSESSIONSETOPTIMIZER_PENDING_STATISTICS=TRUE;
使用存储过程DBMS_STATS.EXPORT_PENDING_STATS可以在数据库之间传输挂起的统计,通过导入导出实现。
扩展的统计
多列统计
在where子句中选择一个单列进行统计非常好办,但如果where子句中包括了来自同一个表的多个列,事情就不是那么简单了,单列统计没有给出列与列之间的关联,这就使选择列组进行统计变得非常困难。
Oracle使用负载分析产生列组,但也可以使用DBMS_STATS包进行手动控制,
create_EXTENDED_STATS存储过程用于创建多列统计。
--createacolumnngroupbasedonEMP(JOB,DEPTNO).
DECLARE
l_cg_nameVARchar2(30);
BEGIN
l_cg_name:=DBMS_STATS.create_extended_stats(ownname =>’SCOTT’,
tabname =>’EMP’,
extension=>’(JOB,DEPTNO)’);
END;
/
PL/SQLproceduresuccessfullycompleted.
SQL>
使用函数SHOW_EXTENDED_STATS_NAME返回列组名。
--Displaythenameofthecolumnngroup.
selectDBMS_STATS.show_extended_stats_name(ownname =>’SCOTT’,
tabname =>’EMP’,
extension=>’(JOB,DEPTNO)’)AScg_name
FROMdual;
CG_NAME
------------------------------
SYS_STU3VG629OEYG6FN0EKTGV_HQ6
1rowselected.
SQL>
- ››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修改表的两种方式
赞助商链接