您的位置:首页 > 数据库 > MySQL

数据库:MySQL索引

2019-04-24 15:37 239 查看

索引认知

  • 索引可以加快数据库的检索速度
  • 索引会降低增删改等操作的速度
  • 索引需要占用物理和数据空间
  • MySQL支持Hash索引和B+树索引

那么为什么呢?

  • 使用索引为什么可以加快数据库的检索速度啊?
  • 为什么索引会降低增删改等操作的速度
  • Hash索引和B+树索引有什么区别?主流的使用哪一个比较多?InnoDB存储都支持吗?

索引做了什么可以提高检索速度?

  • 其实就是将无序的数据变得相对有序,通过’目录’快速定位,底层结构就是B+树
  • B+树是平衡树的一种,检索的时间复杂度为O(logn)
  • B+树是一个平衡树,如果我们对这个树进行增删改的话就会破坏他的原有结构,而要维持平衡树,就必须做额外的工作,从而导致增删改的速度降低

哈希索引

哈希索引就是采用一定的哈希算法,把键值换算成新的哈希值,检索时不需要类似B+树那样从根节点到叶子节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置,速度非常快。

  • 本质上就是把键值换算成新的哈希值,根据这个哈希值来定位
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: