大家都知道有效的索引会提高查询速度,问题是通过什么提高速度的呢?查了很多就是找不到想要的答案
解决方案 »
- oracle经常出现连接超时的问题,或是连接不上,会有哪几种原因?
- 高分请教 oracle 异常的捕获问题
- oracle transparent gateway 连 5个库
- java web工程师转oracle DBA 失败了,被裁了,怎么办啊?目前失业中......
- 如何根据条件查询不同的列呢?
- 求一条sql语句,万分紧急!
- 我想查出在dalluser中的数据在dcustmsg中不存在(他们有个相同的字段ID),且end-time=20500101的数据,
- count函数为什么比运行清单还慢?
- 程序清单:请高手点拨 ORACLE PL/SQL!!!
- oracle安装问题
- 不同表结构的列复制
- number默认只有38位,为什么能插入40位?
磁盘I/O速度是相当慢的。而索引的内容从根节点开始,很多级都可以在内存中访问。数据量大的数据本身就无法或很难做到这一点。
70
60 80
75 85
83 86
查86的话只要按路径一直往右走来查,所以快了。
二、 索引的概念
1、 类似书的目录结构
2、 Oracle 的“索引”对象,与表关联的可选对象,提高SQL查询语句的速度
3、 索引直接指向包含所查询值的行的位置,减少磁盘I/O
4、 与所索引的表是相互独立的物理结构
5、 Oracle 自动使用并维护索引,插入、删除、更新表后,自动更新索引
6、 语法:CREATE INDEX index ON table (column[, column]...);
7、 B-tree结构(非bitmap):
[一]了解索引的工作原理:
表:emp
其它的,看各个数据库的附加支持的特殊索引了。都有文档介绍。其实,好一点的数据库教材都有相关理论介绍。