全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

MySQL锁事务与并发控制

24 题 50 分钟 难度:

考察知识点

本试卷涵盖以下核心知识点:

锁机制概述(5题)

  • 锁的作用与分类体系
  • 锁粒度对并发性能的影响
  • 不同存储引擎的锁支持

共享锁与排他锁(6题)

  • S锁(共享锁)的特性与兼容性
  • X锁(排他锁)的特性与兼容性
  • 锁兼容矩阵的理解与应用
  • 加锁语法(LOCK IN SHARE MODE / FOR UPDATE)

锁等待与超时(5题)

  • 锁等待机制的原理
  • innodb_lock_wait_timeout参数配置
  • 锁等待超时处理策略
  • 死锁检测与处理

行锁与表锁(6题)

  • 行级锁的特点与适用场景
  • 表级锁的特点与适用场景
  • InnoDB行锁的实现机制
  • 意向锁(IS/IX)的作用
  • Record Lock、Gap Lock、Next-Key Lock

综合知识点(2题)

  • 意向锁与锁机制的组合应用
  • 锁等待与共享/排他锁的综合场景
1
单选题

MySQL中锁机制的主要作用是什么?

A

提高查询速度

B

保证并发访问时数据的一致性和完整性

C

减少存储空间

D

加速索引创建

2
单选题

MySQL的InnoDB存储引擎支持哪些级别的锁?

A

只支持表级锁

B

只支持行级锁

C

支持表级锁和行级锁

D

只支持页级锁

3
多选题

MySQL中锁按照类型可以分为哪些?

A

共享锁(S锁)

B

排他锁(X锁)

C

意向锁

D

自增锁

E

元数据锁(MDL)

4
判断题

锁粒度越细(如行级锁),并发性能越好,但锁管理的开销也越大。

A

B

5
填空题

锁机制的核心作用是保证____________________,锁粒度越______并发性能越好,InnoDB支持______________两种粒度。

6
单选题

共享锁(S锁)的特点是什么?

A

只允许一个事务持有

B

允许多个事务同时持有,用于读取操作

C

阻止所有其他事务访问

D

只用于写操作

7
单选题

排他锁(X锁)的特点是什么?

A

允许多个事务同时持有

B

只允许一个事务持有,阻止其他事务的读写操作

C

只用于读操作

D

可以和其他共享锁共存

8
判断题

共享锁和排他锁是兼容的,可以同时存在于同一数据上。

A

B

9
多选题

以下哪些SQL语句可以手动添加共享锁?

A

SELECT ... LOCK IN SHARE MODE

B

SELECT ... FOR SHARE(MySQL 8.0+)

C

SELECT ... FOR UPDATE

D

UPDATE ...

E

INSERT ...

10
单选题

SELECT ... FOR UPDATE语句的作用是什么?

A

加共享锁,允许其他事务读取

B

加排他锁,阻止其他事务读写,为后续更新做准备

C

只用于查询,不加锁

D

加意向锁

11
填空题

锁兼容关系:______之间兼容,______与任何锁都不兼容,SELECT ... FOR UPDATE加______

12
单选题

什么是锁等待?

A

锁自动释放的过程

B

事务请求锁时,锁已被其他事务持有,需要等待锁释放

C

锁超时后自动获取锁

D

锁升级的过程

13
单选题

控制InnoDB锁等待超时时间的参数是什么?

A

innodb_lock_wait_timeout

B

lock_wait_timeout

C

wait_timeout

D

innodb_timeout

14
判断题

InnoDB默认的锁等待超时时间是50秒,超过此时间事务会自动回滚。

A

B

15
多选题

如何查看MySQL当前的锁等待情况?

A

SHOW ENGINE INNODB STATUS

B

SELECT * FROM information_schema.INNODB_LOCKS

C

SELECT * FROM performance_schema.data_locks(MySQL 8.0)

D

SELECT * FROM information_schema.INNODB_LOCK_WAITS

E

SHOW PROCESSLIST

16
填空题

InnoDB锁等待超时参数________________________默认______秒,超过时间事务会______

17
单选题

行级锁的特点是什么?

A

锁定整张表,阻止所有操作

B

只锁定单个数据行,其他行仍可访问

C

锁定多个数据页

D

只用于查询操作

18
单选题

表级锁的特点是什么?

A

只锁定单行数据

B

锁定整张表,阻止其他事务对该表的访问

C

锁定索引

D

只用于InnoDB引擎

19
判断题

行级锁比表级锁并发性能更好,但锁管理的开销更大。

A

B

20
多选题

以下关于行锁和表锁的描述,哪些是正确的?

A

InnoDB默认使用行级锁

B

MyISAM只支持表级锁

C

行锁适合高并发OLTP场景

D

表锁适合批量操作、DDL操作

E

行锁开销大但并发性能好

21
单选题

InnoDB在什么情况下会使用表级锁?

A

所有UPDATE操作

B

执行DDL语句(如ALTER TABLE)或LOCK TABLES命令

C

所有SELECT操作

D

任何事务操作

22
填空题

行级锁锁定__________,并发性能______但开销______;表级锁锁定______,并发性能______但开销______

23
单选题

InnoDB的意向锁(Intention Lock)的主要作用是什么?

A

直接锁定数据行

B

提高表级锁与行级锁兼容性判断的效率

C

替代共享锁和排他锁

D

用于死锁检测

24
多选题

关于MySQL死锁的描述,哪些是正确的?

A

死锁是两个事务相互等待对方释放锁形成的循环等待

B

InnoDB会自动检测死锁并回滚其中一个事务

C

设置合理的锁等待超时可以避免长时间死锁阻塞

D

死锁检测由innodb_deadlock_detect参数控制

E

按固定顺序访问资源可以预防死锁

← 上一个试卷 MySQL索引深度与性能调优
下一个试卷 → MySQL高可用架构与分布式实践

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库