- 浏览: 253439 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (232)
- 瞎扯两句 (8)
- 操作系统 (5)
- 工作笔记 (33)
- 设计模式 (1)
- java (57)
- Java IDE (7)
- hibernate (17)
- oracle (46)
- ms sql (2)
- spring (9)
- struts2 (0)
- javascript (16)
- java_code (2)
- java之集合 (2)
- java之线程 (4)
- java之IO (4)
- java之虚拟机 (6)
- java之异常 (0)
- EJB (4)
- XML (4)
- 数据结构-算法 (2)
- 架构设计 (5)
- 配置信息 (2)
- 阅读笔记 (6)
- IT专业英语 (1)
- PI (0)
- 单元测试 (1)
最新评论
1. 位图索引。
不适合频繁更新的表。因为更新时会锁定位图索引对应的一系列记录,
这样其他用户就会被阻塞。
他不同于B*索引。因为B*索引和记录是一一对应的。 一条索引只有唯一的记录和他对应。
而一条位图索引,则对应着很多条记录,这点详细可以参照位图索引的结构来分析。
所以更新时B*只会锁定他对应的当前记录,而位图索引则会锁定很多条。
2. 函数索引
自定义函数索引时,注意函数需要用determinstic修饰,表明是确定性函数。
对于某一个索引,如果该索引对应列全部为Null,则没有对应的索引生成。
可以只对部分行建立索引,方法是 create index part_index on sample_table
( case column1 when 'N' then 'N' end)。这样只对column1 为N的行建立索引。
3. B*索引
注意索引列的默认类型转化会导致索引无效。
注意 is null 会让索引无效
关于索引列的组合顺序:(在较高版本中,如11G,不需要考虑这个问题)
1.根据系统索引的使用情况分析:where c1='1' and c2='2'
和 where c2='2' 这样的话索引就应该是 c2 c1的顺序,
这两个查询才能都用到索引。
2. 根据数据的具体情况。如果c1对应的行数较少的话,倾向于c1前导。
因为一是这样可以用到索引压缩。二是因为oracle从6版本开始有了行级锁,这样之前的那种说法“将最具有差别的放在索引的前导”就不成立了。三是在索引为c2 c1的情况下,即使where条件中不包含c1,即 where c1= ‘1’ 时,oracle根据计划,也可能采用此索引进行索引跳跃式扫描。
不适合频繁更新的表。因为更新时会锁定位图索引对应的一系列记录,
这样其他用户就会被阻塞。
他不同于B*索引。因为B*索引和记录是一一对应的。 一条索引只有唯一的记录和他对应。
而一条位图索引,则对应着很多条记录,这点详细可以参照位图索引的结构来分析。
所以更新时B*只会锁定他对应的当前记录,而位图索引则会锁定很多条。
2. 函数索引
自定义函数索引时,注意函数需要用determinstic修饰,表明是确定性函数。
对于某一个索引,如果该索引对应列全部为Null,则没有对应的索引生成。
可以只对部分行建立索引,方法是 create index part_index on sample_table
( case column1 when 'N' then 'N' end)。这样只对column1 为N的行建立索引。
3. B*索引
注意索引列的默认类型转化会导致索引无效。
注意 is null 会让索引无效
关于索引列的组合顺序:(在较高版本中,如11G,不需要考虑这个问题)
1.根据系统索引的使用情况分析:where c1='1' and c2='2'
和 where c2='2' 这样的话索引就应该是 c2 c1的顺序,
这两个查询才能都用到索引。
2. 根据数据的具体情况。如果c1对应的行数较少的话,倾向于c1前导。
因为一是这样可以用到索引压缩。二是因为oracle从6版本开始有了行级锁,这样之前的那种说法“将最具有差别的放在索引的前导”就不成立了。三是在索引为c2 c1的情况下,即使where条件中不包含c1,即 where c1= ‘1’ 时,oracle根据计划,也可能采用此索引进行索引跳跃式扫描。
发表评论
-
oracle sql优化
2013-09-23 14:29 6521.绑定变量 不适用在OLAP系统中。 因为在OLAP中, ... -
阅读笔记 SQL
2013-08-14 18:24 825Start with...Connect By子句递归查询一般 ... -
oracle 锁 分析
2013-06-18 10:57 4731. 分为 tx 和 tm 。 即 行级 和 表级 其中 ... -
Oracle的TX锁(行级锁、事务锁)
2013-06-18 10:04 932问题:如何使用事务? ... -
mysql 时间戳自动更新
2013-04-09 10:24 978-- Table "pnodetail" ... -
阅读笔记
2013-02-07 17:24 431. 在OLTP系统装要注意sql的硬解析,但是在OLA ... -
synonym
2013-02-07 16:58 950建立一个同义词可以排除一个对象名字的限制. 如果你的数据库有多 ... -
oracle schema
2013-02-07 16:50 762A schema is a collection of dat ... -
物化视图的使用分析
2013-02-05 17:27 7801. 在 深入浅出 系列中,作者列举了一个例子来说明。 ... -
Oracle:位图索引与死锁-2
2013-01-28 18:24 833位图索引被存储为压缩的索引值,其中包含了一个范围内的ROWID ... -
Oracle:位图索引与死锁-1
2013-01-28 18:04 864B 树索引更适合索引动态表的 OLTP 环境,而位图索引更适合 ... -
Oracle编程艺术阅读笔记-1
2013-01-24 18:48 8631. 绑定变量。 不使用会产生的影响: 每次运 ... -
JAVA完全控制Oracle中BLOB、CLOB说明
2012-12-28 17:07 846网络上很多关于JAVA对Oracle中BLOB、CLOB类型字 ... -
H2数据库的使用
2012-12-13 18:40 7661.下载h2的jar,例如h2-1.3.170.jar 2.c ... -
JTA
2012-12-05 17:35 971要理解 JTA 的实现原理 ... -
oracle 体系结构
2012-12-03 23:13 716[img][/img] oracle工作原理 ... -
oracle 存储过程实例-4
2012-12-03 23:04 534--错误处理部分。 --自 ... -
oracle 存储过程实例-4
2012-12-03 23:02 840--错误处理部分。 --自定义异常处理 CREATE OR ... -
oracle 存储过程实例-3
2012-12-03 21:42 811PROCEDURE autoissuereturns ( ... -
oracle函数 code实例
2012-12-03 21:08 865CREATE OR REPLACE FUNCTION gett ...
相关推荐
成功之路Oracle11g学习笔记-赵振平 请下载2个附件
oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus...
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus...
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-basiclite-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-jdbc-...
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm --基础包,为了运行OCI、OCCI、JDBC-OCI 这几个应用程序; oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm --补充包/文件,是为了运行sql*plus...
oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm client 安装包 rpm -> deb : sudo alien xxx.rpm
Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记Oracle-11g-OCP-051培训笔记
这个压缩包"oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip"是Oracle Instant Client的SDK版本,适用于64位(x86_64)操作系统,版本号为11.2.0.1.0。 Oracle Instant Client SDK包含了开发Oracle数据库...
oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm
c3p0-oracle-thin-extras-0.9.2.1
《Oracle编程艺术代码》这本书深入探讨了Oracle数据库的体系结构,并提供了丰富的源码示例,旨在帮助读者更好地理解和掌握Oracle数据库的内部运作机制。在这个压缩包文件中,包含的源码是作者为了阐述各种概念和技术...
本文将深入探讨Oracle Instant Client的12.1版本,特别是"oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm"这个特定的组件,以及它与SQL*Plus的关系。 首先,Oracle Instant Client的核心功能在于提供了一...
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
深入理解Oracle数据库体系结构,大师之作,推荐阅读。