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运行的机制不了解,没有分析该条语句将要处理的数据记录的数量,从而没有发现表结构的不合理,由此造成性能的严重下降。
来自:http://www.qqread.com/oracle/2008/03/o400955.html相关专题
- 数据库专栏 (5175篇文章)
- 数据库处理专题 (8732篇文章)
- 城域网专题 (7849篇文章)
- 数据库安全技术专题 (13215篇文章)
- 数据库安装与卸载 (10576篇文章)
- Oracle 10g基础应用 (4491篇文章)
- Linux数据库宝典 (13234篇文章)
- 数据库相关文章 (5175篇文章)
- 数据库体系架构 (1096篇文章)
- 性能调优 (275篇文章)
- Oracle语句优化规则汇总(8) (17次浏览)
- Data Guard学习物理standby高级管理 (17次浏览)
- 基于SQL几个常用的几个系统表 (15次浏览)
- 甲骨文如何解析语义谜题 (13次浏览)
- 一步一步配置Oracle Stream (11次浏览)
- 用“kill”命令终止“Oracle”的过程 (9次浏览)
- 如何查找运行系统里的“bad sql”语句 (9次浏览)
- 讲解“Oracle”下导出某用户所有表的方法 (8次浏览)
- Oracle语句优化规则汇总(5) (8次浏览)
- Oracle更新操作优化 (8次浏览)



