Oracle数据库中的索引详解
2009-06-04 13:15:59 来源:WEB开发网核心提示:一、 ROWID的概念存储了row在数据文件中的具体位置:64位编码的数据,A-Z, a-z, 0-9, +, 和 /,Oracle数据库中的索引详解,row在数据块中的存储方式SELECT ROWID, last_name FROM hr.employees WHERE department_id = 20;比如:O
一、 ROWID的概念
存储了row在数据文件中的具体位置:64位编码的数据,A-Z, a-z, 0-9, +, 和 /,
row在数据块中的存储方式
SELECT ROWID, last_name FROM hr.employees WHERE department_id = 20;
比如:OOOOOOFFFBBBBBBRRR
OOOOOO:data object number, 对应dba_objects.data_object_id
FFF:file#, 对应v$datafile.file#
BBBBBB:block#
RRR:row#
Dbms_rowid包
SELECT dbms_rowid.rowid_block_number('AAAGFqAABAAAIWEAAA') from dual;
具体到特定的物理文件
二、 索引的概念
1、 类似书的目录结构
2、 Oracle 的“索引”对象,与表关联的可选对象,提高SQL查询语句的速度
3、 索引直接指向包含所查询值的行的位置,减少磁盘I/O
4、 与所索引的表是相互独立的物理结构
5、 Oracle 自动使用并维护索引,插入、删除、更新表后,自动更新索引
6、 语法:CREATE INDEX index ON table (column[, column]...);
7、 B-tree结构(非bitmap):
[一]了解索引的工作原理:
表:emp
目标:查询Frank的工资salary
建立索引:create index emp_name_idx on emp(name);
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
赞助商链接