测试工程师MySQL一些心得

本文分享了作者在数据敏感公司工作期间关于SQL操作的心得,包括B+树的概念、N叉树与B树的区别、B+树的优势,以及回表、索引(包括普通索引、索引覆盖和最左匹配)、联合索引在查询优化中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

干了三年多的测试了,公司对数据比较敏感,平时工作中会用到大量的SQL操作有一些心得体会,总结下。

1. B+树

1.1 什么是N叉树

二叉树只有两个分支,N叉树有N个分支
B树是一个有序的多路分支查询树
也遵循二叉树,左子树的小于上个节点的关键字,右子树大于上个节点的关键字,同一个叶子左边小于右边
在这里插入图片描述

1.2 B树

  • B树
    每一层都有数据的
    在这里插入图片描述
    B树–>B+树
    非叶子结点只存记录和指针,叶子结点存数据

所谓的根节点就是树的最顶端的节点, 继续往下分为子节点, 当不断细分直到不再有子节点时为叶子节点。

1.3 B+树

B+树如下:非叶子结点只存记录和指针,叶子结点存数据,极大扩展了空间。
在这里插入图片描述
优势:
在这里插入图片描述

2 回表及索引

2.1 回表

2.1.1 什么是回表

查了普通索引又去查主键索引就是回表;普通索引只存了主键值和那个字段值;
如果某个字段没有索引那就全文查找。
在这里插入图片描述
在这里插入图片描述

2.1.2 索引覆盖

在这里插入图片描述

2.1.2 最左匹配

针对于联合索 name,age是联合索引, 写成name =? and age=?就可以命中,写成age=? and name =? 可能(优化器会不会优化)会全表扫描
在这里插入图片描述

  • 联合索引
    多个字段的索引,

  • 小表驱动大表

  • 命中索引

  • 强制使用索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值