MySQL性能分析工具的使用:慢查询日志
MySQL性能分析工具的使用 1.数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。 整个流程划分成了 观察(Show status) 和 行动(Action) 两个部分。字母 S 的部分代表观察(会使用相应的分析工具),字母 A 代表的部分是行
MySQL性能分析工具的使用 1.数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。 整个流程划分成了 观察(Show status) 和 行动(Action) 两个部分。字母 S 的部分代表观察(会使用相应的分析工具),字母 A 代表的部分是行
索引的创建和使用原则:索引的设计原则 1. 哪些情况适合创建索引 1.1 字段的数值有唯一性限制 索引本身可以起到约束的作用,比如唯一索引、主键索引都是可以起到唯一性约束的,因此在我们的数据表中如果某个字段是唯一性的,就可以直接创建唯一性索引,或者主键索引。这样可以更快速地通过该索引来确定某条记录。
索引的创建和使用原则:索引的声明和使用 1. 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 ● 按照功能逻辑分类:普通索引,唯一索引,主键索引,全文索引 ● 按照物理实现方式分类:聚簇索引,非聚簇索引 ● 按照作用字段个数分类:单列索引,联合索引
MySQL区,段,碎片区,表空间 1. 为什么要有区? B+树的每一层中的页都会形成一个双向链表,如桌是以为单拉来分配存储空间的话,双向链表相邻的两个页之间的物理位置可能离得非常远。我们介绍B+树索引的适用场景的时候特别提到范围查询只需要定位到最左边的记录和最右边的记录,然后沿着双向链表一直扫描就可
MySQL8.0索引新特性 1. 支持降序索引 降序索引以降序存储键值。虽然在语法上,从MySQL4版本开始就已经支持降序索引的语法了,但实际上该DESC定义是被忽略的,直到MySQL8.x版本才开始真正支持降序索引(仅限于InnoDB存储引擎)。 MySQL在8.0版本之前创建的仍然是升序索引,使
InnoDB数据存储结构概述:行格式 我们平时的数据以行为单位来向表中插入数据,这些记录在磁盘上的存放方式也被称为行格式或者记录格式。InnoDB存储引擎设计了4种不同类型的行格式,分别是Compact、Redundant、Dynamic和Compressed`行格式。 1. 查看MySQL的默认行
MySQL索引的数据结构:索引的代价 ● 空间上的代价 ○ 没建立一个索引都要为他创建一个B+树,每一颗B+树的每一个节点都是一个数据页,一个页默认占用16KB空间,树越大占用空间越多。 ● 时间上的代价 ○ 每次对表进行增删改时,都需要去修改各个索引的B+树,B+树每层节点都是按照索引列的值从小到
MySQL索引的数据结构:InnODB和MyISAM索引对比 MyISAM中索引都是非聚簇索引,与InnoDB中包含一个聚簇索引是不同的 InnoDB中只要根据聚簇索引进行一次查找就可以找到对应数据,而MyISAM中还需要进行一次回表才能找到对应数据。 InnoDB的数据文件本身就是索引文件,而My
MySQL索引的数据结构:常见的索引概念 索引按照物理实现方式,可以分为两种,聚簇(聚集)索引,和非聚簇(聚集)索引。我们把非聚簇索引也称为二级索引或者辅助索引。 1. 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式(所有用户记录都存储在叶子节点),也就是数据即索引,索引即数据。 聚簇表示数
MySQL索引的数据结构:MyISAM中的索引方案 1. B-Tree树 MyISAM使用B-Tree索引,MySQL官方同样是B+树,国内称为B树。 只不过MyISAM的B+树中的叶子节点存放的是数据记录的地址。 2. MyISAM索引的原理 我们知道InnoDB中索引即数据,也就是聚簇索引的那可