位图索引(Bitmap Index)——索引共用
位图索引区别于传统B*树索引有两个结构特点:其一是叶子节点上是一个可能的索引列取值对应一个叶子节点。另一个就是叶子节点上通过一个位图向量表示对应行是否取定这个索引值。 使用位图向量记录对应...
位图索引(Bitmap Index)——位图索引与数据DML锁定
位图索引相对于传统的B*树索引,在叶子节点上采用了完全不同的结构组织方式。传统B*树索引将每一行记录保存为一个叶子节点,上面记录对应的索引列取值和行rowid信息。而位图索引将每个可能的索引取值组织为一...
位图索引(Bitmap Index)——从B*树索引到位图索引
索引是我们最常使用的一种性能优化手段。本质上讲,使用索引的优势就是通过付出一个额外的索引块扫描过程,获取到符合条件的rowid集合,之后依据rowid集合访问数据表块。从而节省下进行全表搜索的I/O消耗。&...
使用impdp实现数据在不同用户、不同实例之间快速复制
声明:本文是参考secooler的《同一数据库实例不同用户间数据迁移复制——NETWORK_LINK参数》(http://space.itpub.net/519536/viewspace-631571)而成,特此感谢! 在实际开发和运维中,我们经常遇到...
For Update操作分析——不同Oracle版本之间的差异研究
在《Select For update语句浅析》(http://space.itpub.net/17203031/viewspace-694383)中,笔者详细介绍了for update字句的用法。一个朋友在做实验的时候,说出现一些和文章中结果不同的现象。仔细研究下,...
Processes参数设置引起的故障解决一例
很多情况下,我们是不推荐修改Oracle默认的参数(特别是一些隐含参数)。Oracle的默认值参数可以适应大部分情况,但是一些时候还是要注意进行适当的修改,来适应实际开发的需要。 今天进行数据库例行...
Select For update语句浅析
Select … for update语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍。 ...
for update子句语法结构
神奇的“双引号”——从一个误创建对象错误谈起
在Oracle中,无论是SQL还是PL/SQL,都是使用单引号进行字符串的标识。双引号是我们经常忽视的一个方面,本篇介绍一个由于双引号引起的故障解决。 一个同事找到笔者,说创建的一个数据库表不能d...
索引失效系列——索引本身不可用导致的失效
索引是我们进行优化的一种重要方式。实际工作中,一个简单的索引,可能就会大大提升提高关键业务作业效率,最终提升用户满意度。在CBO时代,DBA和开发人员经常为索引为什么不出现在执行计划中而困惑。 ...
索引失效系列——统计量过期引起执行计划错误
索引是我们进行优化的一种重要方式。实际工作中,一个简单的索引,可能就会大大提升提高关键业务作业效率,最终提升用户满意度。在CBO时代,DBA和开发人员经常为索引为什么不出现在执行计划中而困惑。 ...
索引失效系列——绑定变量引起的peeking
索引是我们进行优化的一种重要方式。实际工作中,一个简单的索引,可能就会大大提升提高关键业务作业效率,最终提升用户满意度。在CBO时代,DBA和开发人员经常为索引为什么不出现在执行计划中而困惑。 ...
索引失效系列——说说is null
索引是我们进行优化的一种重要方式。实际工作中,一个简单的索引,可能就会大大提升提高关键业务作业效率,最终提升用户满意度。在CBO时代,DBA和开发人员经常为索引为什么不出现在执行计划中而困惑。 ...
索引失效系列——隐式类型转换
索引是我们进行优化的一种重要方式。实际工作中,一个简单的索引,可能就会大大提升提高关键业务作业效率,最终提升用户满意度。在CBO时代,DBA和开发人员经常为索引为什么不出现在执行计划中而困惑。 ...
Sequence使用细节两例
Oracle的Sequence对象是我们经常使用的一种生成唯一性数据序列的工具对象。数字类型列配合Sequence对象,可以方便的实现主键列功能。本片介绍使用Sequence对象时,需要关注的两个问题。 实验环境准备...
借助索引+非空优化distinct操作一例
一个同事在做方案的时候,问我一个问题:如何快速从百万行的数据表中,快速获取到指定列的所有取定值。 这个问题的困难点在于对数据表数据列的扫描。最直接的方法无过于进行全表扫描+distinct...
非空+默认值——一种选择方案思路
同事和我讨论一个问题:非关键业务字段(比如状态字段)如果从业务上允许为空,那么在数据库里面,是否有必要通过一个默认值将这个字段作为非空字段。笔者将个人的一点拙见在这里和大家分享。 举一个...
ASM驱动安装与ASM盘建立(二)
ASM驱动安装 ASM管理的逻辑结构是两个层次,ASM磁盘组DiskGroup和ASM磁盘Disk。磁盘组是一个或者多个磁盘的集合。ASM磁盘对应的物理种类很多,比如分区、物理磁盘乃至裸设备等,都可以作为ASM磁盘的一...
ASM驱动安装与ASM盘建立(一)
前段时间安装虚拟Linux上的ASM实例,中间反复了几次,不过最终解决了这部分的问题。现记录下来与大家分享。 ASM是Oracle针对数据存储提出的解决方案。区别于传统的Oracle数据库使用数据库实例...
复合索引顺序选择问题(二)
下面我们转换一种构建策略,使用高选择性列为前导列 构建方案2——高选择性列为前导列 构建索引 SQL> drop index idx_t_cmp1; Index dropped SQL> create ...