1. innodb的行锁分哪几种
InnoDB的行锁模式及加锁方法
InnoDB实现了以下两种类型的行锁。
l 共享锁(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。
l 排他锁(X):允许获得排他锁的事务更新数据,阻止其他事务取得相同数据集的共享读锁和排他写锁。
另外,为了允许行锁和表锁共存,实现多粒度锁机制,InnoDB还有两种内部使用的意向锁(Intention Locks),这两种意向锁都是表锁。
l 意向共享锁(IS):事务打算给数据行加行共享锁,事务在给一个数据行加共享锁前必须先取得该表的IS锁。
l 意向排他锁(IX):事务打算给数据行加行排他锁,事务在给一个数据行加排他锁前必须先取得该表的IX锁。
上述锁模式的兼容情况具体如表20-6所示。
表20-6 InnoDB行锁模式兼容性列表
请求锁模式 是否兼容 当前锁模式 | X | IX | S | IS |
X | 冲突 | 冲突 | 冲突 | 冲突 |
IX | 冲突 | 兼容 | 冲突 | 兼容 |
S | 冲突 | 冲突 | 兼容 | 兼容 |
IS | 冲突 | 兼容 | 兼容 | 兼容 |
2. mysql 执行计划中的ref 和extra中出现index的含义有什么不同?
extra 出现 using index 说明使用到了覆盖索引,查询可以直接从索引中得到结果。
中文名叫做索引覆盖查询: 如果查询的时候,用到了索引,并且你最终需要的数据也是这个索引的一部分,那么就出现using index.
3.写出ip正则表达式
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
4. 写出统计不同机器连接mysql数据库的数量,并输出连接数最多的10个机器ip和连接数
netstat -antp|grep 3306 | awk {'print $5'}|awk -F: {'print $4'}|sort |uniq -c |sort -r -nk1|head -10
5.两种方式输出文件的5-10行
cat xxx.txt|head -10|tail -5
awk 'NR==5,NR==10' XXX.txt
6. innodb 的五个重要参数及其含义
7.表空间和buffer pool中存储的文件有何异同
8.慢查询日志有哪些查看方式,查看时需要注意哪些点
9.mysql数据库需要关注哪些指标
10. Redis四种文件格式和如何持久化
11. master thread 都有哪些循环任务,这些任务都做了哪些工作
12. mysql四种隔离级别
13. 脏读和幻读有哪些区别
14. ssd的 trim 和gc都做了哪些工作
未完待续