mysql 知识点总结

1. 引擎 和 锁 :  http://blog.csdn.net/xifeijian/article/details/20313977

2. 查询优化 :  http://www.cnblogs.com/adforce/archive/2012/06/02/2532272.html

3. 执行计划 : https://www.cnblogs.com/xiaoboluo768/p/5400990.html

4. 间隙所:https://blog.csdn.net/spring_model/article/details/53992450

5. 聚簇索引 与 非聚簇索引:https://blog.csdn.net/weixin_42570248/article/details/90710371

6. B+树索引 : http://www.liuzk.com/410.html


1. mvcc 与 锁的关系

个人感觉mvcc是对锁机制的一种补充,对于rc 和 rr两种事务隔离级别来说 ,如果只使用锁机制的话会有如下操作

RC:更新的时候加锁,其他事务任何读都要等待
RR:读的时候加锁,其他事务只能读不能更新 


2. mvcc

的实现主要是依靠快照读(select)、当前读(update等)实现。rc的快照读是在查询语句开启时生成一个快照视图,rr的快照是在事务开启时生成


3. mysql执行顺序

mysql执行sql的顺序从 From 开始,以下是执行的顺序流程

1、FROM  table1 left join table2 on 将table1和table2中的数据产生笛卡尔积,生成Temp1

2、JOIN table2  所以先是确定表,再确定关联条件

3、ON table1.column = table2.columu 确定表的绑定条件 由Temp1产生中间表Temp2

4、WHERE  对中间表Temp2产生的结果进行过滤  产生中间表Temp3

5、GROUP BY 对中间表Temp3进行分组,产生中间表Temp4

6、HAVING  对分组后的记录进行聚合 产生中间表Temp5

7、SELECT  对中间表Temp5进行列筛选,产生中间表 Temp6

8、DISTINCT 对中间表 Temp6进行去重,产生中间表 Temp7

9、ORDER BY 对Temp7中的数据进行排序,产生中间表Temp8

10、LIMIT 对中间表Temp8进行分页,产生中间表Temp9


4. 事务隔离级别与锁的关系

本人认为事务的隔离级别是通过锁的机制实现的,事务的隔离级别是数据库开发商根据业务逻辑的实际需要定义的一组锁的使用策略。当我们将数据库的隔离级别定义为某一级别后如仍不能满足要求,我们可以自定义 sql 的锁来覆盖事务隔离级别默认的锁机制。


5. 聚簇索引与非聚簇索引

聚簇索引不是一种新的索引类型,而是一种存储方式,是存储数据的顺序与索引的顺序一直,并且一个表只能有一个聚簇索引。

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值