SQL语句为什么不会共享(中)
前篇(http://space.itpub.net/17203031/viewspace-703624)中我们介绍了SQL父子游标机制和两种SQL不共享的情形。本篇中我们继续介绍由于对象不一致和cursor_sharing等因素带来的SQL不共享的问题。 5...
SQL语句为什么不会共享(上)
SQL语句是一种描述性的语言。Oracle接受一个SQL之后,要进行一系列的解析parse操作,最终生成真正操作的步骤——执行计划。Oracle对一个SQL进行第一次硬解析(hard parse)之后,就将执行计划缓存在SGA的libr...
Oracle自适应共享游标——Adaptive Cursor Sharing(下)
自适应游标共享是Oracle11g推出的一个新特性。通过ACS,我们可以一定程度上缓解由于bind peeking和cursor_sharing参数设置带来的子游标共享问题。在前篇(http://space.itpub.net/17203031/viewspace-...
Oracle自适应共享游标——Adaptive Cursor Sharing(上)
Oracle的绑定变量技术,是解决内存SQL语句硬解析过多,防止出现资源争用的重要手段。但是,世上没有万灵药。绑定变量在引入cursor sharing与增加软解析的同时,也带来CBO环境下的bind peeking问题。从Oracle ...
说说生产系统索引的重建
在和运维兄弟们讨论新系统运维规划的时候,聊到了关于索引定期rebuild的问题。本篇也想发表一点笔者的拙见。 索引index是数据库表进行优化搜索的对象。索引与数据库表的索引列取值在叶子节点上相对应...
Oracle(+)连接与Join连接
一个开发组同事在对旧系统代码进行分析的时候,发现(+)连接语句。这里想说说(+)连接和Join连接的使用。 (+)连接是Oracle一种特有的连接方法,和我们常见的Join系列连接同时使用。(+)连接是一种...
三个方便实用的Oracle分析函数
Oracle大师Thomas Kyte在他的经典著作中,反复强调过一个实现需求方案选取顺序: “如果你可以使用一句SQL解决的需求,就使用一句SQL;如果不可以,就考虑PL/SQL是否可以;如果PL/SQL实现不了,就考虑...
使用DBMS_HPROF评测PL/SQL代码性能(下)
Dbms_hprof是Oracle11g推出的新特性,作用是分析pl/sql代码执行过程中性能评测分析。在本系列的前篇(http://space.itpub.net/17203031/viewspace-702694)中,我们已经介绍如何使用dbms_hprof进行性能测定以...
使用DBMS_HPROF评测PL/SQL代码性能(上)
PL/SQL是Oracle提供的过程化数据库语言,因其与Oracle数据库、SQL语言之间的无缝连接,一直在数据库开发领域扮演着很重要的地位。 我们使用PL/SQL开发的程序代码,无论是封装过的存储过程sp,...
Oracle Bigfile Tablespace大文件表空间
Oracle表空间Tablespace是逻辑结构的最高层次,其他分别对应段对象segment、区extent和块block。而物理层面的Oracle数据库是通过一系列的文件构成,其中数据文件datafile是与Tablespace进行对应的对象。&nbs...
[技术文章译文]推进下一个存储时代
By David Baum 原文来源:Oracle Magazine , Make the next storage move http://www.oracle.com/technetwork/issue-archive/2011/11-jul/o41analyst-398493.html 声明:本文版权完全属于原作者...
手工生成ASH报告记录
我们之前探讨过AWR报告的手工方法(http://space.itpub.net/17203031/viewspace-700471),借助AWR报告的定时snapshot功能,我们可以有选择性的选取时间段系统数据进行分析,最后获取综合诊断情况。除了AWR报...
Timestamp类型浅析
Oracle针对不同的数据需求,提供了多种类、多层次的数据类型体系。我们在实际应用中,最好可以依据业务数据的实际形态和前端应用的语言、框架特性来确定字段类型的选择。 Date类型是我们经常使...
从一个问题讨论到Decode函数返回值
今天在QQ上一个朋友发出问题,说min函数返回错误的取值。详细如下:一个数据表列类型为number(6,2),其中有三行记录,分别为0,0.6和1。用min获取最小值,得到0.6。 min是Oracle SQL的一个基础函数,...
索引与外键关系实验报告
为什么子表外键列需要建立索引?(下)
继续前篇的讨论(http://space.itpub.net/17203031/viewspace-701833)。 4、有索引情况下,DML操作实验 当我们加入索引结构之后,进行相同的实验。下面列出一个正常场景和无索引是出现...
为什么子表外键列需要建立索引?(中)
上篇(http://space.itpub.net/17203031/viewspace-701832)中,我们讨论了基本外键连带锁结构。 3、无索引状态下,引起的并发阻塞问题 这里面就要用到我们准备的两个会话实验环境了。为了实现...
为什么子表外键列需要建立索引?(上)
外键是我们经常使用的数据库约束方式。它保证了子表上的特定索引列取值一定与父表列(主键列)相一致对应。而且保证在子表没有对应子记录的情况下,父表数据才能删除。应该说,外键是实现数据库完整性、消除...
组合索引顺序选取一例
组合索引在应对特殊的多条件查询是,可以起到意想不到的效果。我们经常在网络上讨论组合索引顺序选取的原则。 江湖流传原则多种多样,有建议使用选择率大小判断的,有建议查看分布的,更有追求多需求...
说说Oracle三层权限体系(下)
Oracle用户对象权限体系是Oracle数据库安全管理中重要的组成部分。Oracle用户权限是一套灵活可配置的管理体系。本篇我们从几个使用Oracle权限体系中的问题细节入手,做一些有趣的尝试。 1、 角...