MySql教程

Mysql 的性能优化

本文主要是介绍Mysql 的性能优化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 索引的数据结构
    • 几种可供选择的索引树
    • 为什么要用 B+ 树

索引的数据结构

索引是一种排好序的数据结构,比如排好序的二叉树,

几种可供选择的索引树

  • 二叉树
  • 红黑树
  • Hash 索引
  • B+ 树

为什么要用 B+ 树

因为之前其他的几种树,如果数据量过大的话,都会导致树的高度变高,树高度,就相当于是 IO 交互的次数,因为真正的数据是存储在磁盘上的。

可以看出来,树的高度越高,需要交互的 IO 就越多,那么在数据不变的情况下,要想降低树的高度,唯一的做法就是扩大一个节点的宽度了。

在B+树中,mysql规定一个节点是 16kB,大概可以存储 1100 多个索引,而最后一层,因为要存储索引还要真正对应数据的地址,所以占的内存比较多,只能存储 16个字节,所以,总数为大概 2千万的数据。只需要三次 IO,甚至 B+ 树中,比较顶层的节点直接存储在内存中,使查询更快,如下图

image

这篇关于Mysql 的性能优化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!