摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 表里的主键设置成自增的,这是通过对主键字段声明 AUTO INCREMENT 属性实现的。 之后可以在插入数据时,可以不指定主键的值,数据库会自动给主键赋值递增的值,这主要是通过AUTO-INC 锁实现的。 AUTO-INC 锁是 阅读全文
posted @ 2025-04-05 22:29 Tsukinor 阅读(56) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 在使用 InnoDB 引擎的表里对某些记录加上「共享锁」之前,需要先在表级别加上一个「意向共享锁」; 在使用 InnoDB 引擎的表里对某些纪录加上「独占锁」之前,需要先在表级别加上一个「意向独占锁」; 也就是,当执行插入、更新、 阅读全文
posted @ 2025-04-05 21:41 Tsukinor 阅读(18) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 我们不需要显示的使用 MDL,因为当我们对数据库表进行操作时,会自动给这个表加上 MDL: 对一张表进行 CRUD 操作时,加的是 MDL 读锁; 对一张表做结构变更操作的时候,加的是 MDL写锁: MDL是为了保证当用户对表执行 阅读全文
posted @ 2025-04-05 21:38 Tsukinor 阅读(13) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 如果我们想对学生表(t_student)加表锁,可以使用下面的命令: // 表级别的共享锁,也就是读锁; // 允许当前会话读取被锁定的表,但阻止其他会话对这些表进行写操作。 lock tables t_student read; 阅读全文
posted @ 2025-04-05 21:34 Tsukinor 阅读(18) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 全局锁是怎么用的? 要使用全局锁,则要执行这条命令: flush tables with read lock 执行后,整个数据库就处于只读状态了。这时其他线程执行一下操作,都会被阻塞: 对数据的增删改操作,比如insert、del 阅读全文
posted @ 2025-04-05 15:28 Tsukinor 阅读(29) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 读提交隔离级别是在每次读取数据时,都会生成一个新的 Read View。 也意味着,事务期间的多次读取同一条数据,前后两次读的数据可能会出现不一致,因为可能这期间另外一个事务修改了该记录,并提交了事务。 那读提交隔离级别是怎么工作 阅读全文
posted @ 2025-04-05 15:27 Tsukinor 阅读(34) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 可重复读隔离级别是启动事务时生成一个Read View,然后整个事务期间都在用这个Read View 事务 A 和 事务 B 的 Read View 具体内容如下: 在事务 A的 Read View 中,它的事务 id 是 51, 阅读全文
posted @ 2025-04-05 15:00 Tsukinor 阅读(18) 评论(0) 推荐(0)
摘要: 困难只是暂时的,放弃才是永久的。 —— 罗伯特·舒勒 我们需要了解两个知识: Read View中四个字段作用; 聚簇索引记录中两个跟事务有关的隐藏列; 那 Read View 到底是个什么东西? Read View 有四个重要字段: m_ids : 指的是在创建Read View时,当前数据库中 阅读全文
posted @ 2025-04-04 15:24 Tsukinor 阅读(42) 评论(0) 推荐(0)
摘要: 困难只是暂时的,放弃才是永久的。 —— 罗伯特·舒勒 当多个事务并发执行时可能会遇到 脏读、不可重复读、幻读 的现象,这些现象会对事务的一致性产生不同程度的影响。 脏读:读到其它事务未提交的数据 不可重复读:前后读取的数据不一致 幻读:前后读取的记录数量不一致 这三个现象的严重性排序: 脏读 > 不 阅读全文
posted @ 2025-04-04 14:14 Tsukinor 阅读(39) 评论(0) 推荐(0)
摘要: 困难只是暂时的,放弃才是永久的。 —— 罗伯特·舒勒 MySQL服务端是允许多个客户端连接的,这意味着MySQL会出现同时处理多个事务的情况。 那么在同时处理多个事务的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read) 阅读全文
posted @ 2025-04-04 13:07 Tsukinor 阅读(14) 评论(0) 推荐(0)