美文网首页
mysql相关笔记

mysql相关笔记

作者: xin激流勇进 | 来源:发表于2020-09-17 11:07 被阅读0次

explain 执行计划

type

1、all
全表扫描
2、index
全索引扫描
3、range
从索引中查找
4、ref
返回所有匹配某个单个值的结果
5、eq_ref
最多返回一条符合条件的结果,通常用在唯一索引和主键索引上

extra

1、use index
使用索引覆盖,查询索引就可以找到需要的数据
2.use where
需要会表进行查询
3、use filesort
对结果使用外部索引排序
4、use temporary
对查询结果进行排序时,使用临时表,一般用于排序、分组和多表join

key

mysql实际使用的索引

为什么要使用索引

1、加快查询数据的速度
2、帮助数据库避免排序和创建临时表
3、随机io变成顺序io
4、通过创建唯一索引,保证数据库中数据的唯一性

索引缺点

1、索引会影响增删改的速度,每一次修改数据都会额外去维护索引
2、创建的索引会占用物理空间

hash索引和b+树索引

1、hash索引只适合等值查询,无法进行范围查找
2、用hash索引查出的数据无法进行排序。
3、存在多个值相同的情况,效率会变得很慢,存在哈希碰撞
4、hash索引不支持多列联合索引的最左匹配原则

索引分类

1、 主键索引
2、 普通索引
3、 唯一索引
4、 组合索引(最左前缀)
唯一索引和主键索引的区别在于主键索引不能为null

红黑树和avl树在内存中使用的数据结构,因为不可能将数据库中的数据全部加载的内存中,
因此使用红黑树会造成频繁io,导致效率低下

b树和b+树
b树
1、书内存储数据
2、叶子节点无链表
b+树
1、叶子节点存储数据
2、叶子节点存储数据

如何避免回表:
查询数据尽量走索引
索引覆盖:
一个组合索引包含了满足查询结果的数据

mysql索引失效

1、范围查找之后的条件不会用到索引
2、where后面接表达式
3、发生隐性转化

几种常见平衡树的比较

avl树

avl树是一种绝对平衡的树,即左右子树的高度差不大于1,添加或者删除元素
通过翻转来维持平衡。

b树

b树也是一种平衡树,现对于avl树,它的每一层节点存放的数据更多,树的高度
遍地,减少了io的次数。b树的查找速度不够稳定,在进行范围查找的时候,需要
进行中序遍历,增加了io的次数。

b+树

b+树所有的数据都存放在叶子节点,并且用链表进行连接,因此在进行范围查找时,
会很方便。由于非叶子节点不存储数据,因此可以存储更多元素,可以减少io查询次数。

相关文章

  • mysql相关笔记

    mysql主从复制步骤1,创建用户create user 'zhongc'@'192.168.0.%' ident...

  • mysql相关笔记

    explain 执行计划 type 1、all全表扫描2、index全索引扫描3、range从索引中查找4、ref...

  • SQL基础

    MySQL学习笔记(1) SQL基础 安装:推荐下载官方rpm包安装配置:执行mysql --help可查看相关相...

  • MySQL 学习笔记--基本操作

    这里整理一下MySQL的相关笔记,第一步当然是MySQL的安装,MySQL的安装其实非常简单,在Oracle my...

  • 【学习笔记】MySQL相关

    参考文章:理解MySQL——索引与优化一个小时学会MySQL数据库Innodb Cluster?????暂未搭建成功

  • MySQL 学习实践笔记(四)

    MySQL 学习实践系列 MySQL 学习实践笔记(一) MySQL 学习实践笔记(二) MySQL 学习实践笔记...

  • MySQL 学习实践笔记(三)

    MySQL 学习实践系列 MySQL 学习实践笔记(一) MySQL 学习实践笔记(二) MySQL 学习实践笔记...

  • MySQL 学习实践笔记(二)

    MySQL 学习实践系列 MySQL 学习实践笔记(一) MySQL 学习实践笔记(二) MySQL 学习实践笔记...

  • MySQL 学习实践笔记(一)

    MySQL 学习实践系列 MySQL 学习实践笔记(一) MySQL 学习实践笔记(二) MySQL 学习实践笔记...

  • Python学习18-连接数据库

    查看所有Python相关学习笔记 本文包含内容 连接mysql数据库 连接db2数据库 连接mysql数据库 安装...

网友评论

      本文标题:mysql相关笔记

      本文链接:https://www.haomeiwen.com/subject/xgklyktx.html