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.常用工具

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值