oracle学习之索引
来源:互联网 发布:数据录入口径 编辑:程序博客网 时间:2024/05/21 11:10
索引
做开发的同志们都知道索引的重要性,索引可以提高查询速度,但是使用或者选择不当,对数据更新等操作会造成严重后果。
索引主要主要分为几类:普通索引(btree)、位图索引(bitmap)、函数索引等,这里做一个简单地介绍。
普通索引即btree,顾名思义结构肯定想树一样,有根、茎、叶子之类的。索引排序之后按照先后顺序先从叶子排列,叶子排满之后,开始往高层次排列,高层次都是排列低层次的指针,所以高度比较低,索引列是有序的。索引本身其实就是一个次序+对应数值的伪列rowid,所以建索引一般都是针对长度较小的主键建立索引,这样索引体积就很小。普通全局索引多用于oltp系统中,而局部索引多用于olap系统中。而普通索引可以和分区表结合使用,提高运行速率,不过这个可是个技术活。如果可以在分区表使用过程中可以使用分区条件,那么可建立局部索引,这时候速率最高,反之如果用不到分区条件,这时候局部索引就是累赘,要一个个查询,最后得到结果(这时候适合建立全局索引)。
全局索引:create index idx_t1_tt1 on t(tt1); (遇分区表时候分区删除、合并、分割增删都会使全局索引失效,这时候要使用语句更新索引alter table t truncate partition part_01 update global indexes)
局部索引:create index idx_t2_tt1 on t(tt1) local;
位图索引:位图索引就是bitmap索引,她可以在统计条数和快速定位方面做得比较优秀(例如统计员工基本情况,在性别、学历等建立位图所以,可以提高统计条数和定位速度),但是在位图索引列重复度低的情况下,那么oracle一般会规避走bitmap索引查询。
创建位图索引:create bitmap index idx_bitmap_male on t(male);
函数索引:即用利用某列的函数值作为索引,创建语句很简单,把原来的列换成函数就可以。create index iex_fun_date on t(to_char(date,'yyyymm'));
索引差不多就这么多,已经介绍完毕。
- oracle学习之索引
- oracle学习之索引误区
- oracle学习之--9,oracle索引
- oracle学习小结3之索引
- oracle学习小结3之索引
- oracle学习之索引与约束
- oracle学习之约束与索引
- 【Oracle学习】之 索引(index)
- oracle索引的学习
- Oracle索引学习总结
- Oracle索引学习
- 学习Oracle 索引
- ORACLE基础:索引学习
- oracle学习笔记--索引
- Oracle 索引学习
- oracle之索引
- oracle之位图索引
- oracle之索引
- 原创,真正解决iframe高度自适应的问题.兼容各浏览器
- 用PHP的CURL写的一个采集Discuz的例子
- 一些使用jQuery開發的在線Web富文本編輯器
- C++中#define的使用方法
- Python中time模块详解(转)
- oracle学习之索引
- xhtml+css排版,清理浮动整理汇总
- 关于PNG透明,IE6,PNG8,PNG24,PNG32
- 使用JS验证密码的强度
- php获取文件mime类型的几种方法
- 使用Jquery取得浏览器的宽度和高度
- css 在未知高度的容器内让内容垂直居中
- 几个常用的无缝背景图分享网,以后不必Photoshop切背景图了
- Java线程面试题Top50