OracleB-tree、位图、全文索引三大索引性能比较及优缺点汇总分析.doc

OracleB-tree、位图、全文索引三大索引性能比较及优缺点汇总分析.doc

引言:大家都知道“效率”是数据库中非常重要的一个指标,如何提高效率大家可能都会想起索引,但索引又这么多种,什么场合应该使用什么索引呢?哪种索引可以提高我们的效率,哪种索引可以让我们的效率大大降低(有时还不如全表扫描性能好)下面要讲的“索引”如何成为我们的利器而不是灾难!多说一点,由于不同索引的存储结构不同,所以应用在不同组织结构的数据上,本篇文章重点就是:理解不同的技术都适合在什么地方应用! B-Tree索引 场合:非常适合数据重复度低的字段 例如 身份证号码??手机号码??QQ号等字段,常用于主键 唯一约束,一般在在线交易的项目中用到的多些。 原理:一个键值对应一行(rowid)??格式: 【索引头|键值|rowid】 优点:当没有索引的时候,oracle只能全表扫描where qq这个条件那么这样是灰常灰常耗时的,当数据量很大的时候简直会让人崩溃,那么有个B-tree索引我们就像翻书目录一样,直接定位rowid立刻就找到了我们想要的数据,实质减少了I/O操作就提高速度,它有一个显著特点查询性能与表中数据量无关,例如 查2万行的数据用了3 consistent get,当查询1200万行的数据时才用了4 consistent gets。 当我们的字段中使用了主键or唯一约束时,不用想直接可以用B-tree索引 缺点:不适合键值重复率较高的字段上使用,例如 第

文档评论(0)

1亿VIP精品文档

相关文档