ITPub博客

首页 > Linux操作系统 > Linux操作系统 > B树索引 位图索引 全文索引 比较

B树索引 位图索引 全文索引 比较

原创 Linux操作系统 作者:Jujay 时间:2011-09-22 15:08:55 0 删除 编辑
1. B树索引
B树索引类似于倒置的树型结构,包括根节点、树枝节点和叶节点,使用树遍历算法搜索列值。

上图是B树索引的结构示意图,根节点和分支节点的结构类似,都包含指向下一层的指针及其键值范围,叶节点包含键值和行编号(RowID)。
B树索引适合于选择性较低(即键值重复率较低)的列,当键值重复率较高时,使用B树索引有时可能还不如用全表扫描,因为需要在索引和原表之间不断切换,对表进行过多的单数据块访问,产生额外的I/O。
2. 位图索引
和B树索引相反,位图索引适合键值重复率高的表,若重复值很低,则位图索引有可能非常大。由于位图索引采用0,1记录某行是否包含该键值,因此非常适合AND, OR, NOT,count等这样的逻辑操作。
位图索引非常不适合有大量“写”的操作,因为每一个位图键值中,都可能对于多条记录,当修改一条记录更新位图键值时,会在对应的位图索引键上加锁,从而导致对其它记录的修改也会被阻塞。
3. 全文索引
全文索引主要用于词汇的快速搜索,比较适合对列中的字段进行模糊查询(如SQL语句中包含%)或者语言类的查询,其缺点是占用空间太大(会创建很多中间表)

b树.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26277071/viewspace-708096/,如需转载,请注明出处,否则将追究法律责任。

上一篇: OLTP和OLAP比较
下一篇: Golden Gate 初探
请登录后发表评论 登录
全部评论

注册时间:2011-09-14

  • 博文量
    93
  • 访问量
    273922