网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  实例讲解一个关于函数索引的性能调优过程     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:113次  录入:管理员--2008-02-28  
 

当出现应用较慢的情况时,我们可以首先用oem抓出sql,然后再进行详细的分析。

select nvl(to_char(status), 'null') status, 
nvl(to_char(subscribeid), 'null')
subscribeid
from abc
where status > 0
and replace(bbid, '''', '') = '9999-0009-11111'。

具体分析:

1.检查表是否分析。用oem查看schema下的table,右栏可以显示last analyzed的日期。结果显示表已分析过。

2.用set auotrace traceonly; set timing on 看执行计划以及执行时间,发现是full scan,运行时间大概是18秒。

3.查看索引的选择性,所谓选择性高,是指列中某个值的个数在正个列中所占比例低。如1个表中有1000行,某列中值为1的个数为10个,则如果此列建立索引的话,是能提高查询速度的。而如果值为1的个数在900个,oracle可能就会选择full scan。这种情况叫可选择性低。

sql>select count(*) from abc where status >0 ;

发现行数就是表的行数。则即使建立索引,cbo也会选择full scan。

4.再看replace(bbid, '''', '') = '9999-0009-11111',虽然bbid建立了索引,但由于加了hanshu raplace的缘故,索引不会生效。

以上几点就是为什么执行计划选择full的具体原因。

解决的方法;

加一个函数索引:

sql>create index inx_func_abc on abc(replace(bbid, '''', ''));

在加完索引后,我们需要进行分析。

sql>begin
sys.dbms_stats.gather_index_stats (
ownname => 'abc'
,indname => 'idx_func_abc'
,estimate_percent => 10
,degree => sys.dbms_stats.default_degree
,no_invalidate => false);
end;
/

我们可以发现,在加了函数索引后,性能得到了显著的提高。

 
 
上一篇: 做了archive后如何收缩oracle的数据文件    下一篇: oracle 9i与10g中plan_table的不同
  相关文档
oracle数据库exp imp按用户导出导入实例 (1) 03-31
用sys执行全文索引的建立时出现权限不足 03-17
如何监控Oracle索引的使用完全解析 05-13
oracle数据库11g高级压缩特性 及压缩好处 09-22
建库的过程中dbca报错,错误号为ora-12547 02-27
oracle数据库重做日志文件丢失后的恢复 02-03
解析:物化视图刷新中出现的“约束冲突” 11-15
版本在9.2.0.3以下时autotrace的设置方法 02-28
解析:基于oracle高性能动态sql程序开发 11-15
如何使用pl/sql读取数据库中的blob对象 03-27
通过create datafile方式重新创建文件 (1) 02-22
轻松掌握什么是数据的物理(存储)结构 09-29
oracle利用传输表空间导出导入数据的步骤 (1) 03-19
创建一个表时表中列的顺序对性能的影响 (1) 03-28
oracle 10g分区表维护中的两个注意事项 04-30
Oracle 9i中自动撤销管理的优点分析 04-11
带你深入了解oracle跟踪事件:set events 07-24
轻松掌握oralce数据库常用预定义的例外 04-03
新黑客技巧可能导致Oracle发生泄露 05-13
Oracle中利用EXP/IMP工具实现数据迁移 04-11
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息