li
  当前位置:主页 > 性能优化 > 文章内容
li
影响Oracle数据库性能的主要因素
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-03-12   阅读:21  
性能是影响oracle的主要问题,影响Oracle性能会有很多方面的原因,总体来说可以分为四个方面:

1.硬件的环境

cpu,内存,网络传输条件等均会影响到oracle的性能。

硬件方面的例子,不用举例大家也会有所了解,这里不再详细说明。

2.数据库运行时的配置参数也会影响到Oracle的性能

下面以一个示例项目中涉及问题为例,说明一下配置参数的影响.

当前我们的项目供某公司的一个部门使用,正常运行一段时间后就会出现运行特别慢的现象(当前的服务器有两块cpu),通过对linux中cup和内存的运行情况,我们发现是由于一块cpu在运行一段时间时,会出现100%被占用的情况,而另一块cpu却利用率很低,通过对两块cpu的负载均衡,程序运行速度恢复正常。

3.对于不合理的表结构设计也会影响到Oracle的性能

对于不合理的表结构对性能的影响,我们在另一个项目中也有发生,当前有一张表,存储了用户手机号码,在统计时需要对用户的手机号码进行分类统计,而另一张表中存储了与手机号码前四或前七位匹配的地区名称,这时间程序员写了一条sql语句为: select * from userPhone,Userarea where (left(userPhone.phone,4) == userarea.id or left(userPhone,7)==userarea.id);该语句在前期userPhone表数据量不多时,没有感觉到性能方面的影响,但当userPhone达到1万条时,性能迅速降低,经过分析后, 确定是由于表结构不太合理,于是在userPhone中增加一个userarea的id列,sql语句修改为 select * from userPhone,Userarea where userPhone.areaid ==userarea.id),程序运行性能恢复正常.

4.对于程序员而言,写出不合理的sql语句也会影响Oracle的性能

(1)如果程序员创建一个数据库更新事务之类,而没有进行commit及进的提交,将会造成系统锁死的状态,这样会严重影响系统的性能。

(2)在第3条中,程序员写出的类似于select * from userPhone,Userarea where (left(userPhone.phone,4) == userarea.id or left(userPhone,7)==userarea.id);的语句主要还是由于对sql运行的机制不了解,没有分析该条语句将要处理的数据记录的数量,从而没有发现表结构的不合理,由此造成性能的严重下降。




  上一篇: ORA-04052,TNS-12640错误解决方法   下一篇: ORA-00257错误解决方法
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·ORA-04052,TNS-12640错误解决方法
·ORA-12516: TNS:监听程序找不到符...
·ORA-27123 错误解决方法 unable ...
·ORA-01631错误解决方法
·oracle ORA-00904 错误解决
·ORA-00604:案例学习Oracle错误
·oracle 在线日志文件损坏与ora-6...
·oracle数据库版本升级后导致的ca...
·oracle rac案例:时间同步问题导致...
·RMAN备份还原时出现Ora-01220错误...
·ORA-00257错误解决方法
·ORA-00604 error occurred at re...
·Oracle 11g最有特点的五大新特性
·Oracle10gR2 Dataguard 环境ORA-...
·Oracle中ORA-01599错误的解决方法
·Oracle10gR2 ORA-3136 错误解决方...
·streams流复制ORA-01403错误解决...
·ORA-00600: 内部错误代码,参数:...
·ora-02069 错误解决方法
·ORA-01562 和 ORA-01628 问题解决...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接