易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 数据库的绑定变量特性及应用

关键词:
绑定变量(binding variable),共享池(shared buffer pool), SGA(system global area);
在开发一个数据库系统前,有谁对Oracle 系统了解很多,尤其是它的特性,好象很少吧;对初学者来讲,这更是不可能的事情;仅仅简单掌握了SQL的写法,就开始了数据库的开发,其结果只能是开发一个没有效率,也没有可扩展的系统;
因此,我写这个主题也是希望让大家更多地掌握Oracle数据库的特性,从而在架构一个新系统时,能考虑系统的可扩展,可伸缩性,也兼顾系统的效率和稳定;
使用绑定变量是Oracle数据库的特性之一;于是大家要问,为什么使用,怎样使用,它的使用限制条件是什么?我会按照这样的想法去解答大家的疑问,我也会以举例子的方式来回答这些问题;
1. 为什么使用绑定变量?
这是解决Oracle应用程序可伸缩性的一个关键环节;而Oracle的共享池就决定了开发人员必须使用绑定变量;如果想要Oracle 运行减慢,甚至完全终止,那就可以不用绑定变量;
这里举例说明上述问题;
为了查询一个员工代号是123,你可以这样查询:
select * from emp where empno=’123’;
你也可以这样查询:
select * from emp where empno=:empno;
象我们往常一样,你查询员工’123’一次以后,有可能再也不用;接着你有可能查询员工’456’,然后查询’789’等等;如果查询使用象第一个查询语句,你每次查询都是一个新的查询(我们叫它硬编码的查询方法);因此,Oracle每次必须分析,解析,安全检查, 优化等等;
第二个查询语句提供了绑定变量:empno,它的值在查询执行时提供,查询经过一次编译后,查询方案存储在共享池中,可以用来检索和重用;在性能和伸缩性方面,这两者的差异是巨大的,甚至是惊人的;通俗点讲,就不是一个级别;
第一个查询使用的频率越高,所消耗的系统硬件资源越大,从而降低了用户的使用数量;它也会把优化好的其它查询语句从共享池中踢出;就象一个老鼠坏了一锅汤似的,系统的整体性能降低; 而执行绑定变量,提交相同对象的完全相同的查询的用户(这句话,大家听起来比较难理解,随后我会给出详细的解释),一次性使用就可重复使用,其效率不言耳语; 打个形象的比喻来说,第一个查询就象一次性使用的筷子,而第二个查询象是铁筷子,只要洗干净,张三李四都能用,合理有效地使用了资源;
下面举例子去详细论证上述的问题,不使用绑定变量为生病状况:
这是一个未使用的绑定变量(吃药前):
set echo on;(把执行结果显示出来)
alter system flush shared_pool;


相关文档:

第28章 Oracle服务器配置和管理

第28章  Oracle服务器配置和管理
提起数据库,第一个想起的公司一般都会是Oracle。Oracle公司于1977年成立,专注于数据库产品的开发,在数据库领域一直都处于领先地位,其产品覆盖了大、中、小型机等数十种机型,是目前世界上使用最广泛的关系数据库系统之一。本节以其最新的数据库产品Oracle 11g为例,介绍如何在Red ......

28.2 Oracle数据库服务器的安装

28.2  Oracle数据库服务器的安装
用户可以通过Oracle的官方网站下载到最新的Oracle数据库产品的软件安装包,在安装Oracle 11g前需要检查系统的软硬件环境是否符合安装要求。Oracle 11g提供图形化的安装程序界面,用户可以通过单击鼠标完成Oracle的安装。 ......

oracle exp imp 初探

数据导出:
 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
   exp system/manager@TEST file=d:\daochu.dmp full=y
 2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
 3 将数据库中的表in ......

oracle的分析函数over 及开窗函数


oracle的分析函数over 及开窗函数
一:分析函数over
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是
对于每个组返回多行,而聚合函数对于每个组只返回一行。
下面通过几个例子来说明其应用。           &nb ......

28.6 Oracle常见问题处理

28.6  Oracle常见问题处理
本节介绍在Red Hat Enterprise Linux 5.2上安装及配置Oracle数据库服务器中,常见的问题及解决方法,包括如何获得数据库创建过程中的详细信息,访问OEM出现“安全连接失败,使用了无效的安全证书”错误以及忘记sys用户口令后的处理方法等。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号