oracle之bitmap索引
oracle常见的索引是BTree索引和Bitmap索引。
BTree索引特点:
默认索引
适合大量增删改查
不能用or操作符
适合高基数的列(即唯一值多)
创建sql:create index lie_idx1 on table(liename);
Bitmap索引特点:
做update代价非常高
非常适合or操作符
基数少的列(即重复值多)
创建sql:create bitmap index lie_bit_idx1 on table(liename);
Bitmap索引使用配注:
对列做位图索引(Bitmap),该列必须是不常改动的。因为oracle在查询位图索引时,会将查找的某一重复值都锁定,在一个sql未提交前,其他用户操作拥有该重复值的sql会处于阻塞状态,直至第一个sql被提交。
创建索引的一些规则:
1、权衡索引和DML之间的关系。执行DML语句会修改索引
2、把索引和表数据放在不同的表空间。读取表数据时可以并行读取索引【移动索引:alter index indexname rebuild tablespace】
索引的常用操作:
重新创建索引:alter index indexname rebuild tablespace indexname2; 数据库操作删除命令后,索引记录并不会马上清除
在线重建索引:alter index indexname rebuild online;
整合索引:alter index indexname coalesce; 用于整理索引碎片
删除索引:drop index scott.indexname;
分析索引:
1、查询存放分析数据的表:select count(*) from index_status;
2、执行分析索引命令:analyze index indexname validate structrue; --分析完该索引信息会存于index_status表中。
oracle之bitmap索引的更多相关文章
- Oracle序列和索引
序列和索引 一.序列 1.序列的概念: 序列(Sequence)是用来生成连续的整数数据的对象.它常常用来作为主键的增长列,可以升序,也可以降序. 2.创建序列: 语法:创建序列 ...
- Oracle中的索引详解
Oracle中的索引概述 索引与表一样,也属于段(segment)的一种.里面存放了用户的数据,跟表一样需要占用磁盘空间.索引是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是 ...
- oracle提高之索引学习
一. 索引介绍 1.1 索引的创建 语法 : CREATE UNIUQE | BITMAP INDEX <schema>.<index_name> ON <schema ...
- ORACLE 查询不走索引的原因分析,解决办法通过强制索引或动态执行SQL语句提高查询速度
(一)索引失效的原因分析: <>或者单独的>,<,(有时会用到,有时不会) 有时间范围查询:oracle 时间条件值范围越大就不走索引 like "%_" ...
- ORACLE表、索引和分区详解
ORACLE表.索引和分区 一.数据库表 每种类型的表都有不同的特性,分别应用与不同的领域 堆组织表 聚簇表(共三种) 索引组织表 嵌套表 临时表 外部表和对象表 1.行迁移 建表过程中可以指定以下两 ...
- ORACLE Index Lookup索引访问路径总结
在ORACLE中,索引访问/查找(Index Lookup)路径有五种方式,分别为INDEX UNIQUE SCAN.INDEX RANGE SCAN.INDEX FULL SCAN.INDEX FA ...
- 转://Oracle 复合压缩索引场景及性能对比
摘要:今天为什么提到这个话题,出于一个偶然,一个同事在优化新开发的系统时向我请教如何添加复合压缩索引的问题.我总结了一下,问题有三. 第一:需不需要压缩 第二:对第几列压缩 第三:性能对比,选出最优 ...
- 查看oracle中表的索引
oracle中表的索引信息存在 user_indexes 和 user_ind_columns 两张表里面, 其中, user_indexes 系统视图存放是索引的名称以及该索引是否是唯一索引等信息, ...
- Oracle 查询表的索引包含的字段
Oracle 查询表的索引包含的字段 select a.uniqueness 索引类型,b.index_name 索引名称,b.column_name 字段 from user_indexes a , ...
随机推荐
- pop3密码嗅探
成品与代码可在 https://pan.baidu.com/s/1MPfU2T_6YN6mgxUL0wrZxw 下载 来说下pop协议, 英文版,https://tools.ietf.org/html ...
- javaSE练习3——数组
一.编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值. package com.test; public class t01 { public stat ...
- intellijidea课程 intellijidea神器使用技巧1-5 idea界面介绍
菜单栏介绍: file:文件操作edit:文本操作view:视图操作navigate:跳转code:源码文件analyze:项目依赖关系分析refactor:代码重构快捷操作,如:抽取函数build: ...
- 最小白的webpack+react环境搭建
本文也同步发表在我的公众号“我的天空” 从零开始,用最少的配置.最少的代码.最少的依赖来搭建一个最简单的webpack+react环境. 最近在玩webpack+react+移动端,那么第一步自然是搭 ...
- Eclipse Infrastructure
Everything is plug-ins running on or loaded by plug-ins loader called by a small kernal which is an ...
- Android中快速实现自定义字体!
前言:我们都知道,Android中默认的字体是黑体,而大多数app也都是使用的这种字体,但我们发现,大多数app中,个别地方字体非常好看,例如app的标题栏,菜单栏等地方,那他们是怎么做到的呢?有两种 ...
- Android AS升级3.1 编译报错:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.
AndroidStudio升级到3.1后编译报错:The SourceSet ‘instrumentTest’ is not recognized by the Android Gradle Plug ...
- 【Android 界面效果46】自定义view常处理的回调方法
onFinishInflate() 当View中所有的子控件均被映射成xml后触发 onMeasure(int, int) 确定所有子元素的大小 onLayout(boolean, int, int, ...
- Oracle 安装教程图解
一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下地址: http://www.ora ...
- centos6.5_64bit-kvm安装部署
kvm部署安装 目录 kvm部署安装... 1 一.kvm部署... 1 1.关闭selinux和防火墙... 1 2.查看主机是否支持虚拟化... 1 3.安装kvm和其他虚拟化软件包... 1 ...