MySQL数据库的常见考点


1、ACID

image-20230201110516214

事务原理

image-20230201183115209

事务持久性

image-20230201184355749

事务原子性

image-20230201184847275

MVCC基本概念

image-20230201185341645

MVCC基本原理

image-20230201185547843

undo log

image-20230201193124540

undo log版本链

image-20230201193916668

readview

image-20230201195741866

MVCC实现原理

image-20230201200202115

RC读已提交

image-20230201201859451

RR可重复读

image-20230201202757006

MVCC实现原理

image-20230201202953875

总结

image-20230201203504311

2、并发事务引发的问题

image-20230201111810443

3、事务隔离级别

image-20230201112426384

注意事务隔离级别越高数据越安全但性能越低

image-20230201114502158

4、索引

4.1、索引概述

image-20230201121618812

4.2、索引优缺点

image-20230201121723698

4.3、索引结构

二叉树

image-20230201122729877

B-Tree树

image-20230201124016293

B+Tree树

image-20230201125911225

B+Tree优化

image-20230201130137365

Hash索引

image-20230201155613366

Hash索引的特点

image-20230201160329135

面试题

image-20230201161040465

索引分类

image-20230201162108409

image-20230201162309066

聚集索引和二级索引

image-20230201162522169

回表查询

image-20230201162713316

InnoDB主键索引的B+tree高度为多高呢

image-20230201163329831

索引语法

image-20230201164342554

慢查询日志

image-20230201170827235

SQL性能分析

image-20230201171916941

explain执行计划

image-20230201175550239

image-20230201175947637

共享锁

共享锁又称读锁、S锁。上厕所就相当于修改操作。当事务给行加了共享锁此时行只能进行读操作而不能进行写操作。别的事务也只能给其加共享锁不能加排他锁。

排他锁

排他锁又称写锁、X锁。当加了排他锁之后就相当于把洗手间的门关上了别人不能进去洗手、化妆之类的。也就是说不能进行写操作以及读操作其他事务不能给其再加锁了。

对于排他锁大家的理解可能就有些差别我当初就犯了一个错误以为排他锁锁住一行数据后其他事务就不能读取和修改该行数据其实不是这样的。排他锁指的是一个事务在一行数据加上排他锁后其他事务不能再在其上加其他的锁。

mysql InnoDB引擎默认的修改数据语句update,delete,insert都会自动给涉及到的数据加上排他锁select语句默认不会加任何锁类型如果加排他锁可以使用select …for update语句加共享锁可以使用select … lock in share mode语句。

所以加过排他锁的数据行在其他事务种是不能修改数据的也不能通过for update和lock in share mode锁的方式查询数据但可以直接通过select …from…查询数据因为普通查询没有任何锁机制。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql数据库