06 2020 档案

摘要:字体 <font face="微软雅黑" size=5 color=blue> **<font face="微软雅黑" size=5 color=blue>** *<font face="微软雅黑" size=5 color=blue>* 常用颜色:red, green, blue, yellow, 阅读全文
posted @ 2020-06-29 14:34 IUNI_JM
摘要:对于使用InnoDB存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列: trx_id:每次一个事务对某条聚簇索引记录进行改动时,都会把该事务的事务id赋值给trx_id隐藏列。 roll_pointer:每次对某条聚簇索引记录进行改动时,都会把旧的版本写入到undo日志中,然后这个隐藏列就 阅读全文
posted @ 2020-06-29 11:46 IUNI_JM 阅读(753) 评论(0) 推荐(0)
摘要:问题 事务隔离级别是可重复读,表结构如下: CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB; insert into t(id, c) val 阅读全文
posted @ 2020-06-29 11:29 IUNI_JM 阅读(264) 评论(0) 推荐(0)
摘要:对于使用READ UNCOMMITTED隔离级别的事务来说,由于可以读到未提交事务修改过的记录,所以直接读取记录的最新版本就好了;对于使用SERIALIZABLE隔离级别的事务来说,设计InnoDB的大叔规定使用加锁的方式来访问记录(加锁是啥我们后续文章中说哈);对于使用READ COMMITTED 阅读全文
posted @ 2020-06-28 20:40 IUNI_JM 阅读(8197) 评论(4) 推荐(6)
摘要:转发:mysql MDL读写锁阻塞,以及online ddl造成的“插队”现象 看mysql45讲遇到一个问题: 为什么C等待拿锁之后,D也会阻塞?其实这里并没有解释清楚。因为如果按并发理解的话,C,D应当是同等级,都有可能拿到锁的。但C读写锁互斥,D读读不互斥,这样的话就跟上图所述相悖了。 首先是 阅读全文
posted @ 2020-06-28 20:36 IUNI_JM 阅读(822) 评论(0) 推荐(1)
摘要:幻读是指多事务并发中一个事务读到了另一个事务insert的记录。 在REPEATABLE READ隔离级别下,假设事务T1执行后,事务T2开始执行,并新增一条记录,然后事务T2提交,这时在事务T1中执行select是看不到事务T2新增的这条记录的。因为在事务T1生成readview的时刻,事务T2属 阅读全文
posted @ 2020-06-17 20:41 IUNI_JM 阅读(2327) 评论(0) 推荐(0)