索引

打印 上一主题 下一主题

主题 795|帖子 795|积分 2385

索引

索引是什么

一种数据结构,帮助我们快速的定位元素
索引的分类

主键索引
唯一索引
普通索引
联合索引(最左匹配原则)

  • 对某字段进行范围会使索引失效
全文索引
索引的数据结构

如何让性能优秀

  • 减少I/O次数
  • 避免回旋
哈希表

根据key的hash算法找到存储的位置

  • 无法范围查找,底层数据结构散列存储数据
平衡二叉树:

自动选取一个中间值,左边的子树小,右边的子树大

  • 树的深度高
  • 回旋

B树

一个节点可以有多个值,一个节点下有多个多个节点,冗余节点

  • 减少了树的高度,还是回旋

     
B+树

基于B树+链表,重新定义了叶子节点和非叶子节点的关系,叶子节点存储key,非叶子节点存储key和值,所有的非叶子节点通过链表进行连接

  • 不用回旋
  • 冗余节点,内存

 
聚簇索引和非聚簇索引

聚簇索引主键索引,innodb采用B+树存储主键(key),行数据(value)
非聚簇索引普通索引,innodb采用B+树存储字段(key),主键(value)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表