设为首页 加入收藏

TOP

oracle索引技术――天天笔记(1)
2014-11-24 02:31:00 来源: 作者: 【 】 浏览:5
Tags:oracle 索引 技术 天天 笔记
oracle索引技术——天天笔记(1)
数据库的索引把用户感兴趣的列值连同其行标识符(ROWID)存储在一起
ROWID包含了存储列值的表行在磁盘上的物理位置
索引虽然能提高查询的性能,但是也不能一度的创建索引,因为索引是有代价的
消耗磁盘空间,系统资源,在列值被修改的同时也必须修改相应的索引
Oracle默认的索引类型是B树索引,适用于高基数列,也就是列值种类多。
SELECT DBMS_ROWID.ROWID_RELATIVE_FNO (ROWID), F4
FROM DEMOT
WHERE F1 = 5;
上面的PACKAGE中的方法是将ROWID转换成有意义的信息
通过rowid_info可以解析ROWID内容
Object# is :128262
Relative_fno is :7
Block number is :3644
Row number is :0
位图索引,适用于低基数列,列值种类少
主要用于数据仓库
创建速度非常快,占用空间非常小
/* Formatted on 5/6/2013 14:55:23 (QP5 v5.240.12305.39446) */
SELECT SEGMENT_NAME, BYTES, EXTENTS
FROM DBA_SEGMENTS
WHERE SEGMENT_TYPE = 'INDEX'
AND OWNER = 'XXRPTH'
AND SEGMENT_NAME IN ('DEMOT_BITMAP', 'SYS_C0032427');
判断是否适合创建位图索引,该列的有效值数目不足表中行数的1%,就适合
CREATE BITMAP INDEX DEMOT_BITMAP
ON DEMOT (F7)
NOLOGGING;
位图索引的DML操作性能很差,所以最好是删除并重建它们,而不是维护,所以不需要日志记录
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇忘记Oracle数据库的密码 下一篇flashback六大技术之flashback dr..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: