Mysql 的性能优化
2021/7/4 2:21:16
本文主要是介绍Mysql 的性能优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 索引的数据结构
- 几种可供选择的索引树
- 为什么要用 B+ 树
索引的数据结构
索引是一种排好序的数据结构,比如排好序的二叉树,
几种可供选择的索引树
- 二叉树
- 红黑树
- Hash 索引
- B+ 树
为什么要用 B+ 树
因为之前其他的几种树,如果数据量过大的话,都会导致树的高度变高,树高度,就相当于是 IO
交互的次数,因为真正的数据是存储在磁盘上的。
可以看出来,树的高度越高,需要交互的 IO 就越多,那么在数据不变的情况下,要想降低树的高度,唯一的做法就是扩大一个节点的宽度了。
在B+树中,mysql规定一个节点是 16kB
,大概可以存储 1100
多个索引,而最后一层,因为要存储索引还要真正对应数据的地址,所以占的内存比较多,只能存储 16
个字节,所以,总数为大概 2千万的数据
。只需要三次 IO,甚至 B+ 树中,比较顶层的节点直接存储在内存中,使查询更快,如下图
这篇关于Mysql 的性能优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-25MySQL报错Duplicate entry '0' for key 'PRIMARY'
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享