美文网首页
添加B-树索引为啥查询就会快

添加B-树索引为啥查询就会快

作者: 答春竹 | 来源:发表于2018-08-07 15:34 被阅读0次

    数据库添加B-树索引,查询就快。那么为啥添加索引就快

    B-树索引的内部结构如下:

    理解下图就明白了


    image.png

    B-树索引有两种类型的块: 用于查找的分支块(Branch Blocks)和用于存储值的叶块(Leaf Blocks)。
    B-树索引的上层分支块包含指向下层索引块的索引数据。从结构上来说就像树一样,分支块就是树干树枝,而叶子就是叶块。
    但是和树有区别的是B-树索引是平衡的,所有叶块都自动处于相同的深度
    因此,在索引中从任意位置检索任意记录需要的时间基本上是相同的。可以理解为,如果走索引从中查询一条数据,那么我查找1W条数据和查询100w条数据的速度是一样的。
    最底层的叶块包含每个被索引的数据值,和一个相应的用来定位实际行的rowid。根据分支块,找到被索引的数据值,再找到对应的rowid,再从rowid取出对应的数据,就起到了快速查找数据的目的。

    相关文章

      网友评论

          本文标题:添加B-树索引为啥查询就会快

          本文链接:https://www.haomeiwen.com/subject/wscavftx.html