新手关于索引的问题。为何在以下情况下,建B*-树索引占用100K空间,而位图索引只占16K。我是新手,请大家进来看看吧。 假定表CUSTOMERS有5万条数据,如果基于CUST_GENDER列(用于存储性别,只有F和M两种值)建立B*-树索引,每个索引入口都会包含索引值(平均1字节)和受限ROWID(6个字节),则此索引占用大约100K空间;如在该列建立位图索引,则会建立两个位图,占用空间总计大约16K。————摘自《oracle 9i 快速入门》一书请问,上面的100K和16K是如何计算出来的?这两种索引的数据结构,差别在哪里?先谢谢各位高手了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不一定,还和其他因素有关,比如数据分布情况。B-tree当然是树型结构,就跟字典一样,查偏旁,再查字,再查解释。BITMAP是位图, 用0和1表示,比如一共10笔数据,F/M。F 0100001010M 1011110101用10个 用10个bit位表示。不过这只是逻辑原理,实际会再优化一下。 谢谢解释,但是位图的情况我还是得不出16K。按照您的思路,我是这样理解的,5万笔数据的情况。F 0101010001....(5W bit)M 1010101110....(5W bit)总共10W bit ----> 5W byte ------> 大约50K空间可是16K是如何出来的呢?估计是我的思路错了,如果有错误,请大家帮我指出来。谢谢。 oracle 动态拼接语句并返回查询结果集 Oracle恢复问题--急 求SQL语句 Oracle触发器错误 ORA-02072: 分布式数据库网络协议匹配错误 ORA-02063: 紧接着line (起自SYBASE) 免费版Oracle10g安装后,数据库实例未创建和服务未启动的问题 如何在oracle reports中使用动态SQL做数据源(急) oracle9i 使用问题 一个问题? 请详细讲讲PRO*C的MAKEFILE应该怎样写?为什么我每次只写proc filename cc filename不行呢? 请教怎么用SQL 倒入文本格式文件的数据到表里去(建新表) 日期问题
B-tree当然是树型结构,就跟字典一样,查偏旁,再查字,再查解释。
BITMAP是位图, 用0和1表示,
比如一共10笔数据,F/M。
F 0100001010
M 1011110101
用10个
按照您的思路,我是这样理解的,5万笔数据的情况。
F 0101010001....(5W bit)
M 1010101110....(5W bit)
总共10W bit ----> 5W byte ------> 大约50K空间可是16K是如何出来的呢?
估计是我的思路错了,如果有错误,请大家帮我指出来。谢谢。