MySQL进阶

一、存储引擎

1. MySQL体系架构

MySQL进阶_第1张图片

2. 存储引擎简介

MySQL进阶_第2张图片

show create table 表名; -- 查询该表所使用的存储引擎

show engines; -- 查询当前数据库支持的存储引擎 

MySQL进阶_第3张图片

3. 存储引擎特点

(1)innodb

MySQL进阶_第4张图片
MySQL进阶_第5张图片


(2)MyISAM

MySQL进阶_第6张图片


(3)Memory

MySQL进阶_第7张图片

(4)对比

MySQL进阶_第8张图片

4. 存储引擎选择

MySQL进阶_第9张图片

5. 总结

MySQL进阶_第10张图片

二、索引

1. 索引概述

MySQL进阶_第11张图片

MySQL进阶_第12张图片

MySQL进阶_第13张图片

2. 索引结构

(1)简介

MySQL进阶_第14张图片

MySQL进阶_第15张图片

我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的索引

(2)Btree

Btree也称B-Tree(Balanced Tree):多路平衡查找树

数据结构可视化网站


MySQL进阶_第16张图片
MySQL进阶_第17张图片

(3)B+Tree

MySQL进阶_第18张图片

MySQL进阶_第19张图片

MySQL进阶_第20张图片

(4)Hash

MySQL进阶_第21张图片

MySQL进阶_第22张图片

(5)B+Tree的优势

MySQL进阶_第23张图片
相对于Btree,Btree节点上存数据的空间都用来存键值(指针),那一层就可以容纳更多的键值了

3. 索引分类

MySQL进阶_第24张图片

MySQL进阶_第25张图片

MySQL进阶_第26张图片

回表查询

MySQL进阶_第27张图片


小试牛刀

MySQL进阶_第28张图片

MySQL进阶_第29张图片

4. 索引语法

MySQL进阶_第30张图片

5. SQL性能分析

MySQL进阶_第31张图片

慢查询日志

MySQL进阶_第32张图片

show variables like 'slow_query_log'; -- 可以查看慢查询日志是否开启

profile 详情

MySQL进阶_第33张图片
MySQL进阶_第34张图片


explain 执行计划

MySQL进阶_第35张图片
MySQL进阶_第36张图片

6. 索引使用

MySQL进阶_第37张图片

(1)最左前缀法则

MySQL进阶_第38张图片

(2)索引失效情况

范围查询索引失效问题
MySQL进阶_第39张图片


索引列运算

在这里插入图片描述


字符串不加引号

MySQL进阶_第40张图片


模糊查询

MySQL进阶_第41张图片

(3)索引使原则

MySQL进阶_第42张图片


MySQL进阶_第43张图片
MySQL是否使用索引,取决于数据的比例,并非固定!!

(4)SQL提示

MySQL进阶_第44张图片

(5)覆盖索引

在这里插入图片描述
在这里插入图片描述
MySQL进阶_第45张图片


MySQL进阶_第46张图片

(6)前缀索引

MySQL进阶_第47张图片
MySQL进阶_第48张图片

(7)单列索引和联合索引

MySQL进阶_第49张图片


MySQL进阶_第50张图片

7. 索引设计原则

MySQL进阶_第51张图片

8. 总结

MySQL进阶_第52张图片
MySQL进阶_第53张图片

三、SQL优化

四、视图、存储过程、触发器

五、锁

六、InnnoDB引擎

七、MySQL管理

你可能感兴趣的:(数据库,mysql,数据库)