`
xiangkun
  • 浏览: 99939 次
  • 性别: Icon_minigender_1
  • 来自: 马尔代夫
社区版块
存档分类
最新评论

Oracl中Sql共享原理

阅读更多

ORACLE将执行过的SQL语句存放在内存的共享池(shared buffer pool)中,可以被所有的数据库用户共享。当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同,ORACLE就能很快获得已经被解析的语句以及最好的 执行路径. 这个功能大大地提高了SQL的执行性能并节省了内存的使用。为了不重复解析相同的SQL语句,在第一次解析之后,Oracle将SQL语句存放在内存中。这块位于系统全局区域SGA(systemglobal area)的共享池(shared buffer poo1)中的内存可以被所有的数据库用户共享。因此,当你执行一个SQL语句(有时被称为一个游标)时,如果它和之前执行过的语句完全相同,Oracle就能很快获得已经被解析的语句以及最好的执行方案。Oracle的这个功能大大地提高了SQL的执行性能并节省了内存的使用。可惜的是,Oracle只对简单的表提供高速缓冲(cache bufferiIlg),这个功能并不适用于多表连接查询。数据库管理员必须在启动参数文件中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了。当向Oracle提交一个SQL语句时,Oracle会首先在这块内存中查找相同的语句。

当前被执行的语句和共享池中的语句必须完全相同 (包括大小写、空格、换行等)两个语句所指的对象必须完全相同 (同义词与表是不同的对象)两个SQL语句中必须使用相同的名字的绑定变(bind variables) 
注意:
Oracle对两者采取的是一种严格匹配策略,要达成共享。SQL语句必须完全相同(包括空格、换行等)。能够使用共享的语句必须满足三个条件:
① 字符级的比较。当前被执行的语句和共享池中的语句必须完全相同。例如:SELECT * FROM ATABLE;和下面每一个SQL语句都不同:

SELECT  * from ATABLE ;

Select  *  From Atable;

select * from daimami.com​;
② 语句所指对象必须完全相同 即两条SQL语句操作的数据库对象必须同一。
③语句中必须使用相同命名的绑定变量。如:第一组的两个SQL语句是相同的,可以共享;而第二组中两个语句不同,即使在运行时赋予不同的绑定变量以相同的值:

第一组 select pin,name from people where pin =  :blk1.pin;
       select pin,name from people where pin =:blk1.pin;
第二组 select pin,name from people where pin =:blk1.ot_jnd;
       select pin,name from people where pin = :blk1.ov_jnd; 

分享到:
评论

相关推荐

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

     Oracle 数据库中的SQL是当今市场上功能最强大的SQL实现之一,而本书全面展示了这一工具的威力。如何才能让更多人有效地学习和掌握SQL呢?Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习...

    oracle9i oracle11g oracle10g 性能调优 基础学习 视频地址

    ORACLE_实例恢复原理 8 Oracle存储结构完全攻略 8 第2讲 Oracle 11g的安装与测试 8 第三讲安装11gR2 11.2.0.3 Grid Infrastructure Clusterware GI集群软件 8 第四讲安装11gR2 RAC DB RDBMS HOME数据库软件并DBCA...

    收获不止SQL优化

    16.3 开发设计应用中的需求 439 16.3.1 界面权限设计优化 439 16.3.2 界面汇总与展现 439 16.3.3 界面实时刷新改良 439 16.3.4 目录树菜单的优化 440 16.4 场景选择的经典案例之谁是Count(*)之王 440 16.4.1 ...

    Oracle Database 11g初学者指南--详细书签版

    7.1 Oracle备份和恢复基本原理 178 7.1.1 从何处着手 178 7.1.2 备份的体系结构 179 7.1.3 Oracle 二进制文件 179 7.1.4 参数文件 179 7.1.5 控制文件 180 7.1.6 重做日志 180 7.1.7 撤消段 180 7.1.8 检查...

    深入解析Oracle.DBA入门进阶与诊断案例

    针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    5.3.4 RAC中的SCN 5.4本章小结 第6章 RAC的高可用性连接 6.1 Oracle Net Service 6.1.1 Oracle Net结构 6.1.2 Oracle Net命名方法 6.1.3 Oracle Net工作原理 6.1.4 Oracle Net Listener工作原理 6.1.5 JDBC...

    SQL性能优化

     以上四个SQL在ORACLE分析整理之后产生的结果及执行的时间是一样的,但是从ORACLE共享内存SGA的原理,可以得出ORACLE对每个SQL 都会对其进行一次分析,并且占用共享内存,如果将SQL的字符串及格式写得完全相同则...

    oracle数据库11G初学者指南.Oracle.Database.11g,.A.Beginner's.Guide

    7.1 Oracle备份和恢复基本原理 7.1.1 从何处着手 7.1.2 备份的体系结构 7.1.3 Oracle二进制文件 7.1.4 参数文件 7.1.5 控制文件 7.1.6 重做日志 7.1.7 撤消段 7.1.8 检查点 7.1.9 归档日志 7.1.10 数据文件、表空间...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE用户是学习ORACLE数据库中的基础知识,下面就介绍下类系统常用的默认ORACLE用户: 1. sys用户:超级用户,完全是个SYSDBA(管理数据库的人)。拥有dba,sysdba,sysoper等角色或权限。是oracle权限最高的用户,...

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    oracle 12c 数据库 教程

    (三)还原数据的工作原理 66 (四)还原数据与重做数据 67 (五)管理还原数据 67 (六)还原保留期和确保还原保留期 67 九、数据库审计 68 (一)什么是数据库审计 68 (二)审计的参数设置 69 (三)强制审计 69 ...

    数据库系统原理与开发-数据库连接技术(ODBC).pdf

    数据库系统原理与开发 电子科技大学-陈安龙 三、ODBC的层次结构 ODBC应用程序接口 客户端数据库应用程序 ODBC驱动程序管理器 驱动程序1 驱动程序2 驱动程序n 数据源1 数据源2 数据源n Oracle DBMS PostgreSQL DBMS ...

    Oracle 9i&10g编程艺术:深入数据库体系结构(全本)含脚本

    3.4.2 Oracle数据库中的存储层次体系 87 3.4.3 字典管理和本地管理的表空间 91 3.5 临时文件 93 3.6 控制文件 95 3.7 重做日志文件 95 3.7.1 在线重做日志 96 3.7.2 归档重做日志 98 3.8 密码文件 100 3.9 ...

    04735--数据库系统原理.doc

    A、Oracle B、SQL Server2000 C、Oracle9i D、Dreanwaver 26、( A )中大型企业数据库,跨平台,在数据库中高市场占有很大的份量。 A、Oracle9i B、SQL Server2000 C、MySQL D、firework 27、对于数据库安装规划和...

    04735--数据库系统原理(1).doc

    A、Oracle B、SQL Server2000 C、Oracle9i D、Dreanwaver 26、( A )中大型企业数据库,跨平台,在数据库中高市场占有很大的份量。 A、Oracle9i B、SQL Server2000 C、MySQL D、firework 27、对于数据库安装规划和...

    oracle体系结构

    1、oracle内存由SGA+PGA所构成  2、oracle数据库体系结构  数据库的体系结构是指数据库的...  5)、服务器进程获取sql语句并检查共享池中是否有相似的sql语句,如果有,服务器进程再检查用户的访问权限;否则分配

Global site tag (gtag.js) - Google Analytics