网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.空间数据在Oracle9i中的实现应用.
.如何将 Access 数据导出到 Oracl.
.SERVER数据转换ORACLE问题.
.RMAN自动备份的脚本(windows环境).
.如何关闭Squid的记录.
.一条SQL语句.
.SQL Server中巧用另类写法代替Li.
.ExactPapers Oracle 1Z0-501 200.
.Oracle数据库表与视图.
.FORM程序中Oracle与Access表的导.
.CLR自定义类型存储业务对象.
.ORACLE在HP-UX下的系列问题处理(.
.系统对象IDL_UB1$表的含义及作用.
.Oracle数据库中的timestamp和dat.
.Oracle中调试存储过程.
.Win2000安装ASE12.5(英文版)显乱.
.分区的情况下,对insert速度影响.
.使用ORACLE数据库时的WEB分页方法.
.一个关于如何解决复杂编码的挑战.
.Oracle 10g的安装步骤和注意事项.

哪些因素可以影响Oracle数据库的性能

发表日期:2008-3-11


影响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运行的机制不了解,没有分析该条语句将要处理的数据记录的数量,从而没有发现表结构的不合理,由此造成性能的严重下降。

上一篇:如何使用Ruby脚本调用Oracle存储过程 人气:1159
下一篇:带你深入了解Oracle数据库的进制转换 人气:947
浏览全部Oracle的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐