加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

带给你MySQL高性能索引

发布时间:2021-03-25 13:16:08 所属栏目:传媒 来源:互联网
导读:nnoDB和MyISM存储引擎,InnoDB存储引擎索引和数据是同一个文件,MyISAM索引和数据是两个独立的文件。 在MySQL中,索引是在存储引擎层实现的而不是Server层实现的,所以不同的存储引擎的索引的工作方式是不一样的。我们对索引的分析应该是建立在存储引擎的基

nnoDB和MyISM存储引擎,InnoDB存储引擎索引和数据是同一个文件,MyISAM索引和数据是两个独立的文件。

在MySQL中,索引是在存储引擎层实现的而不是Server层实现的,所以不同的存储引擎的索引的工作方式是不一样的。我们对索引的分析应该是建立在存储引擎的基础上的,InnoDB是MySQL默认的存储引擎。

索引的优点:

  • 索引大大减少了服务器需要扫描的数据量。
  • 索引可以帮助服务器避免排序和临时表。
  • 索引可以随机I/O变为顺序I/O。

索引的缺点:

  • 索引是数据结构,它占用了额外的磁盘空间。
  • 当表数据量比较大时,维护索引的代价比较大。

索引数据模型

每个存储引擎的数据结构和算法都是存在区别,我们先看下MySQL本身支持的索引类型。

B-Tree索引

一般我们说的索引结构就是指B-Tree索引,MySQL大部分的存储引擎都支持这种索引,但是不同的存储引擎以不同的方式使用B-Tree索引,性能也各有不同。InnoDB使用的是B+Tree,按照原有的数据格式进行存储,根据主键引用被索引的行。

B-Tree所有的值都是按顺序存储的,并且每一个叶子到根的距离相同。下图是B-Tree的抽象图:

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读