MySQL数据库的常见考点
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
1、ACID
事务原理
事务持久性
事务原子性
MVCC基本概念
MVCC基本原理
undo log
undo log版本链
readview
MVCC实现原理
RC读已提交
RR可重复读
MVCC实现原理
总结
2、并发事务引发的问题
3、事务隔离级别
注意事务隔离级别越高数据越安全但性能越低
4、索引
4.1、索引概述
4.2、索引优缺点
4.3、索引结构
二叉树
B-Tree树
B+Tree树
B+Tree优化
Hash索引
Hash索引的特点
面试题
索引分类
聚集索引和二级索引
回表查询
InnoDB主键索引的B+tree高度为多高呢
索引语法
慢查询日志
SQL性能分析
explain执行计划
共享锁
共享锁又称读锁、S锁。上厕所就相当于修改操作。当事务给行加了共享锁此时行只能进行读操作而不能进行写操作。别的事务也只能给其加共享锁不能加排他锁。
排他锁
排他锁又称写锁、X锁。当加了排他锁之后就相当于把洗手间的门关上了别人不能进去洗手、化妆之类的。也就是说不能进行写操作以及读操作其他事务不能给其再加锁了。
对于排他锁大家的理解可能就有些差别我当初就犯了一个错误以为排他锁锁住一行数据后其他事务就不能读取和修改该行数据其实不是这样的。排他锁指的是一个事务在一行数据加上排他锁后其他事务不能再在其上加其他的锁。
mysql InnoDB引擎默认的修改数据语句update,delete,insert都会自动给涉及到的数据加上排他锁select语句默认不会加任何锁类型如果加排他锁可以使用select …for update语句加共享锁可以使用select … lock in share mode语句。
所以加过排他锁的数据行在其他事务种是不能修改数据的也不能通过for update和lock in share mode锁的方式查询数据但可以直接通过select …from…查询数据因为普通查询没有任何锁机制。