数据库
文章平均质量分 84
小坏蛋至尊宝
很遗憾,没能成为你的例外和遗憾。
展开
-
MySQL面试题
一个用户A 访问表A(锁住了表A),然后又访问表B;另一个用户B 访问表B(锁住了表B),然后企图访问表A;这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B才能继续,同样用户B要等用户A释放表A才能继续,这就死锁就产生了。用户A查询一条纪录,然后修改该条纪录;这时用户B修改该条纪录,这时用户A的事务里锁的性质由查询的共享锁企图上升到独占锁,而用户B里的独占锁由于A 有共享锁存在所以必须等A释放掉共享锁,而A由于B的独占锁而无法上升的独占锁也就不可能释放共享锁,于是出现了死锁。如果在事务中执行了一条原创 2022-07-01 16:42:50 · 190 阅读 · 0 评论 -
24 个必须掌握的数据库⾯试题
⼀、为什么⽤⾃增列作为主键 1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引。 如果没有显式定义主键,则InnoDB会选择第⼀个不包含有NULL值的唯⼀索引作为主键索引。 如果也没有这样的唯⼀索引,则InnoDB会选择内置6字节⻓的ROWID作为隐含的聚集索引(ROWID随着⾏记录的写⼊⽽主键递 增,这个ROWID不像ORACLE的ROWID那样可引⽤,是隐含的)。 2、数据记录本⾝被存于主索引(⼀颗B+Tree)的叶⼦节点上,这就要求同⼀个叶⼦节点内(⼤⼩为⼀个内存原创 2021-06-09 16:54:25 · 194 阅读 · 0 评论