我爱Aspx >> C#.Net >> 用共享游标提升 SQL 性能Boost SQL Performance with cursor_sharing
关键词:cursor_sharing
概述
本文阐述在Oracle8i Release 2和Oracle9i中增强的游标共享设施。这些增强功能被一个新的参数cursor_sharing控制。
cursor_sharing的目的就是提高没有使用绑定变量(bind vvariable)的应用程序服务器的性能。
需要 cursor_sharing
本段解释为什么应用程序不使用绑定变量(bind variables)会带来性能问题。
应用程序反复执行相似的SQL语句
使用Oracle数据库管理他(她)们的数据的应用程序必须使用SQL语句访问/修改数据库。这些SQL语句可以是由一个应用程序使用OCI, OCCI, JDBC, PL/SQL等直接产生的,也是可以是使用其他工具和库(例如:dbms_sql)间接产生的。
根据不用的应用类型,通常一个应用程序都为最终用户提供了一个固定的功能集合,例如,一个人力资源应用程序可能会提供一些像增加一个新雇员,修改一个雇员的个人信息等功能。最终这些功能使用SQL访问和/或修改数据。因为应用程序重复地执行这些功能,一个应用和Oracle数据库的交互是由相似的SQL语句的反复执行构成的。
SQL调用的步骤
为执行一个SQL语句,客户端可以使用使用不同的接口。例如,通过OCI接口,客户端创建一个语句句柄(statement handle),然后perpare这个语句,绑定,定义和执行这个语句句柄,或者,SQL语句也可以通过一个PL/SQL过程被执行。
按照客户端接口,Oracle数据库一直都使用固定的步骤(默认):
1. 打开一个游标 - 用户游标是一个和SQL语句相关的全部用户状态的句柄,像执行内存,共享游标引用,用户游标的当前状态等等。
2. 解析一个SQL语句到打开的用户游标中 - 使SQL语句和用户游标关联;它也建立了一个共享游标,对应于SQL语句的解析格式。在一些情况下,共享游标也可以作为解析的一部分被校对和优化。解析,校对和优化SQL语句的过程通常是非常耗费CPU时间,内存和连接资源的。
Ҷƪл˵?
SQL Server 2005 创建登录时提示..[07-30]
Mysql关于数据库和表的几个最基本..[07-30]
成批更改sql server数据库所有者..[07-30]
一个非常简单的分页技术MYSQL+JS..[07-30]
VFP中用SPT访问SQL Server数据库[07-30]
动态创建MSSQL数据库表存储过程[07-30]
SQL SERVER 2000 安装(症状归纳..[07-30]
Mysql数据库操作新手入门,手把手..[07-30]
SQL Server 存储过程嵌套示例[07-30]
教你轻松应对JSP连接MySQL数据库..[07-30]
C#图像放大问题解决方法[07-30]
SQL Server 2005 创建登录时提示..[07-30]
Mysql关于数据库和表的几个最基本..[07-30]
成批更改sql server数据库所有者..[07-30]
ASP.NET--制作功能完善的安装程序[07-30]
用PHOTOSHOP制作漂亮的边框[07-30]
免费QQ秀再赠送 每天限量3000套开..[07-30]
Windows Vista系统自带防火墙高级..[07-30]
Word 2007里写日志 再直接发布到..[07-30]
自己动手 让Firefox 2.0用上迅雷..[07-30]