第十章:MySQL进阶篇测试题2

更新于:1506253596

1、
关于InnoDB事务隔离性描述正确的是

 A、InnoDB支持四种隔离级别,分别为:Read Uncommitted (读取未提交内容)、Read Committed (RC读取提交内容)、Repeatable Read (RR可重读)、Serializable (可串行化)
 B、Serializable (可串行化)隔离级别最高,并发性最差
 C、Read Uncommitted (读取未提交内容)是最低的隔离级别,数据容易出差错
 D、Read Committed (RC读取提交内容)是InnoDB默认的隔离级别

2、
关于MySQL锁的描述正确的是

 A、根据锁定数据的范围,锁可分为表锁、行锁、页锁。
 B、InnoDB只支持行锁
 C、行锁根据锁定后可操作的权限又分为共享锁(S)、排他锁(X)
 D、MySQL表级锁分为读锁和写锁。

3、
哪些SQL语句在事务中会加排他锁(S)

 A、UPDATE、DELETE和INSERT语句
 B、SELECT * FROM table_name;
 C、SELECT * FROM table_name WHERE ... LOCK IN SHARE MODE;
 D、SELECT * FROM table_name WHERE ... FOR UPDATE;

4、
关于GAP锁描述正确的是

 A、Repeatable Read (RR可重读) 级别下会产生GAP锁
 B、GAP锁可以防止幻读的出现
 C、GAP锁锁住的位置不是记录本身,而是两条记录之间
 D、Serializable (可串行化) 级别下会产生GAP锁

5、
在RC隔离级别下,select * from t1 where id = 10 for update; “id”有唯一约束,没有找到满足查询条件的记录,那么这条SQL语句会触发GAP锁吗?

 A、会
 B、不会

6、
在Serializable隔离级别下,

 A、普通读都是加了共享锁的当前读
 B、普通读都是加了排他锁的当前读

7、
关于MySQL锁的描述正确的是

 A、InnoDB行锁是通过给索引上的索引项加锁来实现的
 B、只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁!
 C、“RR”下尽量用相等条件访问数据,这样可以避免GAP锁对并发插入的影响
 D、MyISAM存储引擎只支持表锁

8、
InnoDB和MyISAM的区别

 A、InnoDB是事务安全型的,而MyISAM是非事务安全型的。
 B、InnoDB支持行级锁定,而MyISAM锁的粒度是表级。
 C、MyISAM着重于性能,InnoDB注重于并发与数据安全。
 D、如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能。

9、
如果索引的字段可以为NULL,索引的效率会提高很多。

 A、正确
 B、错误

10、
关于variables和status说法正确的是

 A、variables是系统变量,可以为MySQL做配置
 B、status是状态变量,可查看MySQL现有的各种状态值
 C、variables可更改
 D、status状态变量可人为设置