From 9af6ad877b335004a2ea23ed186893194f9933c0 Mon Sep 17 00:00:00 2001 From: heibaiying <2806718453@qq.com> Date: Wed, 24 Jul 2019 17:49:44 +0800 Subject: [PATCH] =?UTF-8?q?mysql=20=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/MySQL_EXPLAIN.md | 226 +++++++++++++++++++++++++--------- notes/MySQL_索引.md | 51 ++++++++ pictures/employees-schema.png | Bin 0 -> 64839 bytes 3 files changed, 222 insertions(+), 55 deletions(-) create mode 100644 notes/MySQL_索引.md create mode 100644 pictures/employees-schema.png diff --git a/notes/MySQL_EXPLAIN.md b/notes/MySQL_EXPLAIN.md index 8c470b7..8d0101e 100644 --- a/notes/MySQL_EXPLAIN.md +++ b/notes/MySQL_EXPLAIN.md @@ -3,93 +3,209 @@ EXPLAIN 关键字可以用于获取所修饰语句执行计划的相关信息,在 MySQL 8.0 中,EXPLAIN 支持大多数常见的语句,如 SELECT 、DELETE 、INSERT 、REPLACE、和 UPDATE 语句。示例如下: ```sql --- 查询工资大于100000的雇员所在部门的编号 -EXPLAIN SELECT * FROM dept_emp WHERE emp_no IN (SELECT emp_no FROM salaries WHERE salary > 100000) LIMIT 100; +mysql> EXPLAIN SELECT * FROM employees; ++----+-------------+-----------+------+---------------+------+---------+------+--------+-------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+-----------+------+---------------+------+---------+------+--------+-------+ +| 1 | SIMPLE | employees | ALL | NULL | NULL | NULL | NULL | 299379 | NULL | ++----+-------------+-----------+------+---------------+------+---------+------+--------+-------+ ``` -![mysql-explain](D:\Full-Stack-Notes\pictures\mysql-explain.png) +注:本篇文章所有的测试数据来均源于 MySQL 官方提供的 [Employees Sample Database](https://dev.mysql.com/doc/employee/en/),其数据库结构如下: + +
+以下对 EXPLAIN 输出结果中各个字段的含义及其可能的取值范围做详细的介绍: + +## 1. id + + id 字段为行标识符,同时也表示该行语句执行的优先级,值越大则优先级越高。如果某行语句引用了其他行结果集的并集,则该值可以为 NULL。示例如下: ```sql - -mysql> EXPLAIN SELECT * FROM dept_emp WHERE emp_no IN (SELECT emp_no FROM salaries WHERE salary > 100000) LIMIT 100; -+----+-------------+----------+------+---------------+---------+---------+---------------------------+--------+-----------------------------------+ -| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | -+----+-------------+----------+------+---------------+---------+---------+---------------------------+--------+-----------------------------------+ -| 1 | SIMPLE | dept_emp | ALL | PRIMARY | NULL | NULL | NULL | 331570 | NULL | -| 1 | SIMPLE | salaries | ref | PRIMARY | PRIMARY | 4 | employees.dept_emp.emp_no | 4 | Using where; FirstMatch(dept_emp) | -+----+-------------+----------+------+---------------+---------+---------+---------------------------+--------+-----------------------------------+ -``` - -> 注:本篇文章测试数据来源于 MySQL 官方提供的 [Employees Sample Database](https://dev.mysql.com/doc/employee/en/) - -### 1. id - -每个 SELECT 语句都会对应输出结果中的一行数据,id 列是该行数据的编号,如果在语句当中没有子查询或者联合查询,则每行数据的编号都是 1 。如果涉及到 FROM 子查询 或者 UNION 查询,则编号通常会按照其在原始语句中的位置排序。示例如下: - -```sql --- 该FROM字句只是用于演示 -mysql> EXPLAIN SELECT COUNT(1) FROM (SELECT emp_no FROM salaries) AS s; -+----+-------------+------------+-------+ -| id | select_type | table | type | -+----+-------------+------------+-------+ -| 1 | PRIMARY | | ALL | -| 2 | DERIVED | salaries | index | -+----+-------------+------------+-------+ ...... +-- 该FROM字句只是用于演示,并没有任何实际意义 +mysql> EXPLAIN SELECT COUNT(1) FROM (SELECT emp_no FROM salaries) AS t; ++----+-------------+------------+-------+---------------+---------+---------+------+---------+-------------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+------------+-------+---------------+---------+---------+------+---------+-------------+ +| 1 | PRIMARY | | ALL | NULL | NULL | NULL | NULL | 2757635 | NULL | +| 2 | DERIVED | salaries | index | NULL | PRIMARY | 7 | NULL | 2757635 | Using index | ++----+-------------+------------+-------+---------------+---------+---------+------+---------+-------------+ ``` ```sql -- 查询工资大于500000或部门编号等于d007的所有雇员的编号 -mysql> EXPLAIN SELECT emp_no FROM salaries WHERE salary>500000 UNION ALL SELECT emp_no FROM dept_emp WHERE dept_no = "d007"; -+----+--------------+------------+------+ -| id | select_type | table | type | -+----+--------------+------------+------+ -| 1 | PRIMARY | salaries | ALL | -| 2 | UNION | dept_emp | ref | -| NULL | UNION RESULT | | ALL | -+----+--------------+------------+------+ ...... +mysql> EXPLAIN SELECT emp_no FROM salaries WHERE salary>500000 UNION ALL SELECT emp_no FROM dept_emp WHERE dept_no = "d007"; ++----+--------------+------------+------+---------------+---------+---------+-------+---------+--------------------------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+--------------+------------+------+---------------+---------+---------+-------+---------+--------------------------+ +| 1 | PRIMARY | salaries | ALL | NULL | NULL | NULL | NULL | 2837161 | Using where | +| 2 | UNION | dept_emp | ref | dept_no | dept_no | 4 | const | 91566 | Using where; Using index | +| NULL | UNION RESULT | | ALL | NULL | NULL | NULL | NULL | NULL | Using temporary | ++----+--------------+------------+------+---------------+---------+---------+-------+---------+--------------------------+ ``` -### 2. select_type +## 2. select_type -### 3. table ++ **SIMPLE**:不包含子查询或者 UNION 操作的查询; ++ **PRIMARY**:查询中如果包含任何子查询,那么最外层的查询则被标记为 PRIMARY ; ++ **SUBQUERY**:子查询中第一个 SELECT ; ++ **DEPENDENT SUBQUERY**:子查询中的第一个 SELECT,取决于外部查询; ++ **UNION**:UNION 操作的第二个或者之后的查询; ++ **DEPENDENT UNION**:UNION 操作的第二个或者之后的查询,取决于外部查询; ++ **UNION RESULT**:UNION 产生的结果集; ++ **DERIVED**:出现在 FROM 字句中的子查询。 + +这里常用的类型在上面的示例中都出现过,下面演示查询类型为 SUBQUERY 的情况,示例如下: + +```sql +-- 根据员工编号查询员工姓名及其工资总和 +mysql> explain select first_name,(select sum(salary) from salaries where emp_no = 10001) from employees where emp_no = 10001; ++----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+ +| 1 | PRIMARY | employees | const | PRIMARY | PRIMARY | 4 | const | 1 | NULL | +| 2 | SUBQUERY | salaries | ref | PRIMARY | PRIMARY | 4 | const | 17 | NULL | ++----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+ +``` + +## 3. table - ****:输出结果中编号为 M 的行与编号为 N 的行的结果集的并集。 -- ****:输出结果中编号为 N 的行的结果集,使用 derived 修饰表示这是一个派生结果集,如来自于 FROM 子句中的子查询 。 +- ****:输出结果中编号为 N 的行的结果集,使用 derived 修饰表示这是一个派生结果集,如来自于 FROM 子句中的查询 。 - ****:输出结果中编号为 N 的行的结果集,使用 subquery 修饰表示其来源于一个物化子查询。 -### 4. type +## 4. type -这个字段表示 MySQL 如何查找表中的行。常见参数按照查找性能由低到高,排序如下: +这个字段非常重要,它表示 MySQL 使用何种方式来查找目标数据,不同查找方式会导致不同的性能开销,常见查找方式及其性能表现按照由高到低的顺序排序如下: -+ ALL:全表扫描; -+ index:按照索引顺序而不是行顺序进行全表扫描; -+ range:范围扫描; -+ ref: +**1. system**:这是 const 类型的一个特例,只会出现在待查询的表只有一行数据的情况下。 -### 5. possible_keys +**2. const**:出现在主键或唯一索引与常量值进行比较的场景下,这种情况下查询性能是最优的。 + +```sql +mysql> explain select * from employees where emp_no = 10008; ++----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+ +| 1 | SIMPLE | employees | const | PRIMARY | PRIMARY | 4 | const | 1 | NULL | ++----+-------------+-----------+-------+---------------+---------+---------+-------+------+-------+ +``` + +**3. eq_ref**:在连接查询中,当连接使用索引的所有部分并且索引是 PRIMARY KEY 或 UNIQUE NOT NULL 索引时使用它。 + +```sql +-- 这里员工部门关系表 dept_no 的联合主键为 emp_no + dept_no ,即员工编号+部门标号 +mysql> explain select * from employees e,dept_emp d where e.emp_no = d.emp_no and dept_no = "d005"; ++----+-------------+-------+--------+-----------------+---------+---------+--------------------+------+-----------------------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+-------+--------+-----------------+---------+---------+--------------------+------+-----------------------+ +| 1 | SIMPLE | d | ref | PRIMARY,dept_no | dept_no | 4 | const | 1 | Using index condition | +| 1 | SIMPLE | e | eq_ref | PRIMARY | PRIMARY | 4 | employees.d.emp_no | 1 | NULL | ++----+-------------+-------+--------+-----------------+---------+---------+--------------------+------+-----------------------+ +``` + +**4. ref**:通常在连接查询中,如果连接仅使用了前缀索引或用于连接的条件不是 PRIMARY KEY 或 UNIQUE 索引时使用它。 + +```sql +-- 这里仅使用了前缀索引emp_no,所以其类型为 ref , 而不是 eq_ref +mysql> explain select * from employees e,dept_emp d where e.emp_no = d.emp_no; ++----+-------------+-------+------+---------------+---------+---------+--------------------+--------+-------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+-------+------+---------------+---------+---------+--------------------+--------+-------+ +| 1 | SIMPLE | e | ALL | PRIMARY | NULL | NULL | NULL | 299379 | NULL | +| 1 | SIMPLE | d | ref | PRIMARY | PRIMARY | 4 | employees.e.emp_no | 1 | NULL | ++----+-------------+-------+------+---------------+---------+---------+--------------------+--------+-------+ +``` + +**5. ref_or_null**:类似于 ref 类型的查询,但是附加了对 NULL 值列的查询。这里给出示例语句: + +```sql +SELECT * FROM ref_table WHERE key_column=expr OR key_column IS NULL; +``` + +**6. index_merge**:该联接类型表示使用了索引进行合并优化,示例如下: + +``` +mysql> explain select * from dept_emp where dept_no = "d004" and emp_no < 10020; ++----+-------------+----------+-------------+-----------------+-----------------+---------+------+------+-----------------------------------------------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+----------+-------------+-----------------+-----------------+---------+------+------+-----------------------------------------------+ +| 1 | SIMPLE | dept_emp | index_merge | PRIMARY,dept_no | dept_no,PRIMARY | 8,4 | NULL | 1 | Using intersect(dept_no,PRIMARY); Using where | ++----+-------------+----------+-------------+-----------------+-----------------+---------+------+------+-----------------------------------------------+ +``` + +**7. range**:使用索引进行范围扫描,常见于 between、> 、< 这样的查询条件。 + +```sql +mysql> explain select * from employees where emp_no > 10000; ++----+-------------+-----------+-------+---------------+---------+---------+------+--------+-------------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+-----------+-------+---------------+---------+---------+------+--------+-------------+ +| 1 | SIMPLE | employees | range | PRIMARY | PRIMARY | 4 | NULL | 149689 | Using where | ++----+-------------+-----------+-------+---------------+---------+---------+------+--------+-------------+ +``` + +**8. index**:索引连接类型与 ALL 相同,只是扫描的是索引树,通常出现在索引是该查询的覆盖索引的情况: + +```sql +mysql> explain select emp_no from employees; ++----+-------------+-----------+-------+---------------+---------+---------+------+--------+-------------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+-----------+-------+---------------+---------+---------+------+--------+-------------+ +| 1 | SIMPLE | employees | index | NULL | PRIMARY | 4 | NULL | 299379 | Using index | ++----+-------------+-----------+-------+---------------+---------+---------+------+--------+-------------+ +``` + +**9. ALL**:全表扫描,效率最差的查找方式。 + +```sql +mysql> explain select * from employees where first_name ="Bezalel"; ++----+-------------+-----------+------+---------------+------+---------+------+--------+-------------+ +| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | ++----+-------------+-----------+------+---------------+------+---------+------+--------+-------------+ +| 1 | SIMPLE | employees | ALL | NULL | NULL | NULL | NULL | 299379 | Using where | ++----+-------------+-----------+------+---------------+------+---------+------+--------+-------------+ +``` + +## 5. possible_keys 表示在执行过程中可能会用到哪些索引来进行优化。 -### 6. key +## 6. key 表示在执行过程中实际用到的用于优化的索引。 -### 7. key_len +## 7. key_len 表示使用到的索引的字节数。 -### 8. ref +## 8. ref +显示哪些列或常量与 key 列中指定的索引进行比较。 - -### 9. rows +## 9. rows MySQL 为了找到目标行而读取的所有行的数量,这是一个估算的值。 -### 10. Extra +## 10. Extra -用于显示额外的信息,常用 +用于显示额外的信息,常见参数如下: -### 11. partitions ++ **Distinct**:优化 distinct 操作,再找到第一匹配的元组后即停止找同样值的动作; ++ **Not exists**:使用 not exists 来优化查询; ++ **Using filesort**:使用额外操作进行排序,通常会出现在 order by 或 group by 查询中; ++ **Using index**:使用了覆盖索引进行查询; ++ **Using temporary**:使用临时表来处理查询,常见于排序、子查询和分组查询; ++ **Using where**:使用 WHERE 条件来过滤数据; ++ **select tables optimized away**:直接通过索引来获取数据,不需要访问表。 -显示查询结果集中记录所在的分区。如果目标表不是分区表,则值为 null 。 \ No newline at end of file +## 11. partitions + +显示查询结果集中记录所在的分区。如果目标表不是分区表,则值为 null 。 + + + + + +## 参考资料 + +MySQL官方文档:https://dev.mysql.com/doc/refman/8.0/en/explain-output.html \ No newline at end of file diff --git a/notes/MySQL_索引.md b/notes/MySQL_索引.md new file mode 100644 index 0000000..e6c632d --- /dev/null +++ b/notes/MySQL_索引.md @@ -0,0 +1,51 @@ +## B+ tree 索引 + +B-Tree 适用于以下类型的查找: + ++ **全值匹配**:以索引为条件进行精确查找。如 `emp_no` 字段为索引,查询条件为 `emp_no = 10008`; ++ **前缀匹配**:以联合索引的前缀为查找条件。如 `emp_no` 和 `dept_no` 为联合索引,查找条件为 `emp_no = 10008`; ++ **列前缀匹配**:匹配索引列的值的开头部分。如 `dept_no` 为索引,查询条件为 `dept_no like "d1%"`; ++ **匹配范围值**:按照索引列匹配一定范围内的值。如 `emp_no` 字段为索引,查询条件为 `emp_no > 10008`; ++ **只访问索引的查询**:如 `emp_no` 字段为索引,查询语句为 `select emp_no from employees`; ++ **精确匹配某一列并范围匹配某一列**:如 `emp_no` 和 `dept_no` 为联合索引,查找条件为 `dept_no = "d004" and emp_no < 10020`。 + +## 哈希索引 + +使用哈希索引时,存储引擎会对索引列的值进行哈希运算,并将计算出的哈希值和指向该行数据的指针存储在索引中,因此它更适用于等值比较查询,而不是范围查询。在建立哈希索引时,需要选取选择性比较高的列,即列上的数据不容易重复 (如身份证号),这样可以尽量避免哈希冲突。因为哈希索引并不需要存储索引列的数据,所以其结构比较紧凑,对应的查询速度也比较快。 + +InnoDB 引擎有一个名为 “自适应哈希索引 (adaptive hash index)” 的功能,当某些索引值被频繁使用时,它会在内存中基于 B-Tree 索引在创建一个哈希索引,从而让 B-Tree 索引具备哈希索引的优点,如快速查找。 + +## 索引的优点 + ++ 索引极大减少了服务器需要扫描的数据量; ++ 索引可以帮助服务器避免排序和临时表; ++ 索引可以将随机 IO; + +## 索引的创建与使用策略 + +在查询时,应该避免在索引列上使用函数或者表达式; + +对于多列索引,应该按照使用频率由高到低的顺序建立联合索引; + +建立索引时,应该考虑查询时候的排序和分组的需求。只有当索引列的顺序和 ORDER BY 字句的顺序完全一致,并且遵循同样的升序或降序规则时候,MySQL 才会使用索引来对结果做排序。 + +尽量避免创建冗余的索引。通常会出现以下两种情况的冗余: + +如已经存在索引 (A,B),接着又创建了索引 A,此时会出现冗余,因为索引 A 只是索引 (A,B) 的前缀索引; + +如为主键列再次创建索引,因为主键已经是唯一索引了,此时再创建就会出现冗余。 + + + +## 参考资料 + +1. [ InnoDB 数据页解析](http://mysql.taobao.org/monthly/2018/04/03/) + +2. [MySQL索引背后的数据结构及算法原理](https://blog.codinglabs.org/articles/theory-of-mysql-index.html) + + + + + + + diff --git a/pictures/employees-schema.png b/pictures/employees-schema.png new file mode 100644 index 0000000000000000000000000000000000000000..b7ea0546a1c0c9f1a35e4e4dba043a072a7c05b3 GIT binary patch literal 64839 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