• 索引能提高检索速度,降低维护速度


    索引为什么能提高检索速度?

    索引将无序的数据变成有序(相对),如果没用索引我们需要遍历双向链表来定位对应的页。有了索引就通过“目录”很快能定位到对应的页上。底层结构是B+树,B+树作为树的一种实现,能够让我们很快地查找出对应的记录。

    为什么索引会降低插入、删除、修改等维护任务的速度?

    1、B+树是平衡树的一种,是不会退化成链表的,树的高度都是相对比较低的,基本符合矮胖均匀结构,时间复杂度是O(logn)(平衡树是一棵空树或者它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树)

    2、如果一棵普通的树在极端的情况下是能退化成链表的(树的优点就不存在了)

    3、建索引就是建一棵B+树,因为B+树是一棵平衡树,如果我们对这棵树进行增删改的话是会破坏它的原有结构。所以要维持平衡树,就必须做额外的工作。正是因为这些额外的开销,导致索引会降低增删改的速度。

    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    ssh登录
    wireless tools的使用
    Ubuntu中的minicom
    ubuntu 下交叉编译环境的搭建
    两个队列实现一个栈
    二叉树节点的插入
    二叉树的非递归遍历
    acwing 66. 两个链表的第一个公共结点
    acwing 60. 礼物的最大价值
    acwing 55. 连续子数组的最大和
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14360594.html
Copyright © 2020-2023  润新知