04.mysql索引类型

索引类型

  • 1.索引出现为了提高数据查询速度

  • 2.索引常见模型为哈希表、有序数组、搜索树

  • 3.哈希表为键值存储的数据结构
    存储逻辑:把值放在数组里,用一个哈希函数把key换成确定的位置,把value放在数组的这个位置,多个key值经过哈希函数的换算,会出现同一个值的情况
    哈希表无序,所以哈希表做区间查询效率不高 ,只适用于只有等值查询的场景如Memcached引擎

  • 4.有序数组在等值查询范围查询性能优秀
    有序数组更新效率低,插入数据必须挪动后面的所有记录,有序数组只适用于静态存储引擎

  • 5.二叉树搜索效率最高,但索引不止在内存,还有在写磁盘中,查询速度慢
    N叉树读写性能好,适配磁盘访问模式

1.InnoDB的索引模型

  • 1.InnoDB中,表以主键为索引存放,为索引组织表,索引存放在B+树种,每一个索引对应一颗B+树

  • 2.索引类型分为主键类型非主键类型

  • 3.主键类型存子节点内容是整行数据(聚簇索引)
    非主键索引存放的是主键的值(二级索引)

  • 4.两种区别:(1.主键索引只需要搜索一颗B+树
    (2.非主键索引需要搜索此索引树,得到id到id索引树,即回表
    非主键索引树需要多扫描一颗索引树


2.索引维护

  • 1.列分页:(1.若数据页满,需要申请新的数据页挪动部分数据,性能变低
    (2.影响数据页的利用率,一个页分成两页

  • 2.列合并:两个相邻的页删除了数据,利用率变低会合并(分裂过程的逆过程

  • 3.不指定id插入的数据为追加数据,不涉及挪动记录,不会触发节点分裂

  • 4.主键长度越小,普通索引的叶子节点越小,普票索引占用空间越小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值