美文网首页
mysql-随笔

mysql-随笔

作者: 简书徐小耳 | 来源:发表于2018-12-20 10:46 被阅读10次

    为什么mysql的索引使用B+树而不是B树呢??
    (1)B+树更适合外部存储(一般指磁盘存储),由于内节点(非叶子节点)不存储data,所以一个节点可以存储更多的内节点,每个节点能索引的范围更大更精确。也就是说使用B+树单次磁盘IO的信息量相比较B树更大,IO效率更高。
    (2)mysql是关系型数据库,经常会按照区间来访问某个索引列,B+树的叶子节点间按顺序建立了链指针,加强了区间访问性,所以B+树对索引列上的区间范围查询很友好。而B树每个节点的key和data在一起,无法进行区间查找

    mysql 一个主键索引 a 两个非主键索引 b c
    那么当我们根据b删除的一条记录的时候会先加锁b 在锁a 不会锁住c
    如果我们根据a删除,那么只会锁住b 不会锁其他索引

    相关文章

      网友评论

          本文标题:mysql-随笔

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