> 文章列表 > MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

01-课程介绍

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

02-存储引擎-MySQL体系结构

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

03存储引擎-简介

查询建表语句 --默认存储引擎:InnoDB

show create table account;

查询当前数据库支持的存储引擎

show engines;

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

04存储引擎-InnoDB介绍

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

开关为"ON": 表示每个innodb引擎的表都有一个idb表共享文件

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

05存储引擎-MyISAM和Memory

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

面试常考(InnoDB与MyISAM区别)

06存储引擎的选择(一般就是InnoDB,其他两个在其他SQL中都有优化版)

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

08MySQL安装(linux)&遇到的问题

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

输入password的时候 不显示输入 我还以为没输入进去真贱啊

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

没开Linux防火墙3306的端口 不能远程链接

linux怎么允许3306端口通过防火墙,Centos7允许3306端口通过防火墙_倪振源的博客-CSDN博客

cnm,nmsl,教的什么j8玩意,链接虚拟机地址都不让我们查一下? 老子查了两个点才查出来!!!!

【MySQL】DataGrip连接linux中的MySQL_猫打球商店的博客-CSDN博客_datagrip 连接linux服务器

mariadb-libs 被 mysql-community-libs-compat-8.0.26-1.el7.x86_64 取代_别晃我的可乐的博客-CSDN博客_mariadb-libs

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

直接停止再重启mysql服务

09索引-概述

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

10索引-结构-介绍

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

11索引-结构-Btree

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

红黑树和二叉树都存在问题:大数据量情况,层级较深,检索速度慢

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

最大度数:n 每个节点最多存储n-1个keyn个指针;分裂的时候中间向上左右

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

继续插入元素,

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

数据结构可视化网站

12索引-结构-B+tree

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

13索引-结构-hash

先计算每一行的hash值,然后计算name的hash值映射到蓝色hash槽位里面,然后存储(name,name对应的行的hash值)到hash表;

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

14索引-结构-思考题(why InnoDB引擎用 B+tree?)

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

15索引-分类

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

16索引-思考题

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

17索引-语法

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

1. create index idx_user_name on tb_user(name);

2. create index idx_user_name on tb_user(name);

3. create index idx_user_pro_age_sta on tb_user(profession,age,status);

4. create index idx_user_email on tb_user(email);

18索引-性能分析-查看执行频次

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

19索引-性能分析-慢查询日志

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

20索引-性能分析-showprofiles

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

21索引-性能分析-explain

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

NULL:查询不妨问任何表时出现 select 'A'; system:访问系统表

const:根据主键/唯一索引访问; ref:使用非唯一索引查询

index:使用了索引,但会扫描遍历整个索引树 all:全表扫描

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

22索引-使用规则-验证索引效率

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

23索引-使用规则-最左前缀法则

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

24索引-使用规则-索引失效情况一

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

25索引-使用规则-索引失效情况二

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

26索引-使用规则-SQL提示

(use只是一种建议 mysql是否接受不一定要看效率) use/ignore/force 建议/不用/强制使用

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

27索引-使用规则-覆盖索引&回表查询

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

面试题:最佳方案:针对username-password建立联合索引 因为联合索引是二级索引,B+树叶子下面挂的是ID,所以执行select不需要回表查询 性能最好

28索引-使用规则-前缀索引

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

29使用规则-单列&联合索引

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

创建索引(phone,name);要满足最左前缀法则;所以要考虑参数顺序

30索引-设计原则

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

31索引-小结

32SQL优化-插入数据

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

33SQL优化-主键优化(每页包含2~n)

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

编辑

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

34SQL优化-order by优化

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

35SQL优化-group by优化

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

36SQL优化-limit优化

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

37SQL优化-count优化(由存储引擎决定)

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

编辑

38SQL优化-update优化(避免行锁升级为表锁)

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

39SQL优化-小结

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

40视图-介绍及基本语法

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

41视图-检查选项(cascaded) (译为:级联的)

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑with cascaded check option;

视图 会在操作的时候检查是否满足where条件

并递归继续检查上面(依赖)的v2带cascaded的where 直到每个底层带cascaded的 都满足 才执行SQL;

42.进阶-视图-检查选项(local)

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

区别在于:local 当前v3没有检查选项 就不用管其它带(local的)依赖视图;

但是cascaded 就算v3没有也要管v2,v1(带cascaded检查选项的).

43.进阶-视图-更新及作用

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑

44.进阶-视图-案例

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

MySQL 进阶篇1.0 索引 SQL优化 视图 锁

编辑