MYSQL进阶

一.存储引擎

二.索引

 

1.结构

2.分类

回表查询指的是先走二级索引找到对应的主键值,再根据主键值再到聚集索引当中拿到这一行的行数据。

3.语法

4.SQL性能分析

如果有简单的sql语句却耗时大量的时间,我们便可以通过profile来查看详细的情况。

当我们在进行sql优化的时候,尽量把type向前优化,null是指没有查询到任何东西,效率最高,system是指查询系统表,const是指查询唯一性索引,ref是指查询非唯一性索引,all是全表扫描,性能最低,index是指用了索引,但是也会对索引进行扫描,遍历整个索引数,性能也不是特别高

5.索引使用规则

索引使用的规则:

以上两个索引规则都是联合索引的使用规则。

走索引还是全表扫描取决于数据的分布,如果查询的是极少部分数据或者少部分数据,就会走索引,如果查询的是大部分数据或者全表,就走全表扫描。

sql提示就是我们人为的去告诉mysql使用索引的情况。

使用前缀索引降低索引的体积,降低空间,减少磁盘io。

创建联合索引要考虑字段的顺序,因为要满足最左前缀法则,最左边的字段一定要有。

6.索引设计原则

三.SQL优化

1.insert优化

想要大批量插入需要作上述的操作才可以。

主键顺序插入的性能大于乱序插入。

2.主键优化

页分裂比较的消耗性能

修改主键会涉及到索引结构的修改,引起不必要的麻烦。

主键长度过长在检索时会浪费磁盘io。

3.order by 优化

4.group by优化

5.limit分页优化

6.count优化

7.update优化

执行update语句的where条件尽量加上索引,否则就会从行锁变成表锁,并且这个索引不能失效,否则也会升级为表锁,从而导致并发性能降低。

四.视图

五.存储过程

1.基本语法

2.变量

3.if判断

4.参数

5.case语句

6.循环

7.游标

六.存储函数

七.触发器

八.锁

1.概述

2.全局锁

3.表级锁

4.行级锁

九.存储引擎

1.逻辑存储结构

2.架构

3.后台线程

4.事务原理

5.MVCC(多版本并发控制)

隐藏主键不是每一张表都有的。

十.MYSQL管理

1.系统数据库

2.常用工具

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值