MySQL核心原理1

本文探讨了数据库索引的重要性和类型,包括树和hash索引,指出全表查和范围查的效率区别。接着介绍了MySQL的存储引擎,如MyISAM和InnoDB的特点,以及如何处理主键和辅助索引。最后提到了联合索引、最左前置原则以及覆盖索引的概念,旨在优化查询性能。
摘要由CSDN通过智能技术生成

一、索引

数据库索引是一种为了加速数据表中行记录检索的数据结构,存储于磁盘中,分散存储。

索引方式有:树、hash

全表查效率o(N),范围查使用索引,作用在字段之上

hash索引是k-v的结构,执行效率o(1),等值查快,不支持范围查。

二叉树:递归的二分查找,olog(N),自增时单边增长太长,执行效率o(N)

AVL树(旋转平衡二叉树)是子节点高度差绝对值不能大于1:1. 层高,预读时根据空间局部性原理会频繁往内存写入;2. io利用率低,SSD的io操作以操作系统页为单位,一页读4K的数据,保证数据对齐。

B树(多路平衡)也叫二三树:扫描整表,叶子节点在同一水平线。关键字个数=子节点岔路(Degree)-1。磁盘块定4k大小、字节占4byte那第一层有4*1024/(4+4)=512个关键字、第二层512的平方、第三层512的立方,数据区有地址和数据。为了性能代价的保证是绝对平衡的,会带来节点的合并和分裂,以自增作为主键,平衡代价小&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值