首页/ 学科题库/ mysql/ MySQL锁事务与并发控制
mysql 模拟试卷

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题)

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

试卷习题(24 题)

参考答案在文末
判断题
1
判断题

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

A

对

B

错

2
判断题

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

A

对

B

错

3
判断题

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

A

对

B

错

4
判断题

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

A

对

B

错

单选题
5
单选题

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

A

允许多个事务同时持有

B

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

C

只用于读操作

D

可以和其他共享锁共存

6
单选题

表级锁的特点是什么?

A

只锁定单行数据

B

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

C

锁定索引

D

只用于InnoDB引擎

7
单选题

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

A

提高查询速度

B

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

C

减少存储空间

D

加速索引创建

8
单选题

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

A

直接锁定数据行

B

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

C

替代共享锁和排他锁

D

用于死锁检测

9
单选题

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

A

所有UPDATE操作

B

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

C

所有SELECT操作

D

任何事务操作

10
单选题

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

A

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

B

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

C

只用于查询,不加锁

D

加意向锁

11
单选题

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

A

只支持表级锁

B

只支持行级锁

C

支持表级锁和行级锁

D

只支持页级锁

12
单选题

什么是锁等待?

A

锁自动释放的过程

B

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

C

锁超时后自动获取锁

D

锁升级的过程

13
单选题

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

A

innodb_lock_wait_timeout

B

lock_wait_timeout

C

wait_timeout

D

innodb_timeout

14
单选题

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

A

只允许一个事务持有

B

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

C

阻止所有其他事务访问

D

只用于写操作

15
单选题

行级锁的特点是什么?

A

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

B

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

C

锁定多个数据页

D

只用于查询操作

多选题
16
多选题

如何查看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

17
多选题

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

A

共享锁(S锁)

B

排他锁(X锁)

C

意向锁

D

自增锁

E

元数据锁(MDL)

18
多选题

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

A

InnoDB默认使用行级锁

B

MyISAM只支持表级锁

C

行锁适合高并发OLTP场景

D

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

E

行锁开销大但并发性能好

19
多选题

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

A

SELECT ... LOCK IN SHARE MODE

B

SELECT ... FOR SHARE(MySQL 8.0+)

C

SELECT ... FOR UPDATE

D

UPDATE ...

E

INSERT ...

20
多选题

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

A

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

B

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

C

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

D

死锁检测由innodb_deadlock_detect参数控制

E

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

填空题
21
填空题

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

22
填空题

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

23
填空题

行级锁锁定,并发性能但开销;表级锁锁定整张表,并发性能差但开销小。

24
填空题

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

参考答案
1.错误 2.正确 3.正确 4.正确 5.B 6.B 7.B 8.B 9.B 10.B 11.C 12.B 13.A 14.B 15.B 16.A;B;C;D;E 17.A;B;C;D;E 18.A;B;C;D;E 19.A;B 20.A;B;C;D;E 21.innodb_lock_wait_timeout;50;回滚 22.共享锁;排他锁;排他锁 23.单个数据行;好;大 24.并发访问的数据一致性;细;行级锁和表级锁
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 MySQL索引深度与性能调优 下一套 → MySQL高可用架构与分布式实践