侧边栏壁纸
博主头像
木易成

聊聊软件、聊聊金融、聊聊篮球

  • 累计撰写 29 篇文章
  • 累计创建 18 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

mysql索引

木易成
2022-11-26 / 0 评论 / 0 点赞 / 2,484 阅读 / 315 字

索引mysql官方的解释:是一种排好序的数据结构

数据结构

  • 二叉树
    每个节点最多两颗子树,左子树和右子树是有顺序的,即使有只有一颗子树也是有顺序的,(如果排好顺序的数据放到二叉树中可能变成链表)
  • 红黑树(平衡二叉树)
    典型的实例如hashmap
  • B树
    各节点是存放数据的
  • B+树
    只有子节点存放数据,省出的空间可以存放更多的索引,且子节点是双向链表便于范围查找

Mysql使用的结构

  • inndb和myisam搜索引擎默认是B+树
  • Hash
    根据数据值的hash存放,查找很快但是不利于范围查找。=或in查询性能高

mysql优化

  • 为什么使用B+而不使用B(B+中间层不存在数据可以省出空间存储更多的索引)
  • 主键要用自增整形ID,而不使用uuid(uuid一是字符串比较大小没有整形快,二是不自增可能在链表中间插入导致二叉树分叉或重新排布)
  • 尽量使用组合索引
0

评论区