摘要:
回顾 问题 事务并发执行时可能带来各种问题,并发事务访问相同记录的情况大致可以划分为3种 读-读情况:即并发事务相继读取相同的记录 读取操作本身不会对记录有什么影响,并不会引起什么问题,所以允许这种情况的发 写-写情况:即并发事务相继对相同的记录做出改动 任何一种隔离级别都不允许这种问题的发生。所以 阅读全文
摘要:
InnoDB存储引擎中的锁 表级锁 表级别的S锁、X锁 在对某个表执行SELECT、INSERT、DELETE、UPDATE语句时,InnoDB存储引擎是不会为这个表添加表级别的S锁或者X锁的 表级别的IS锁、IX锁 当我们在对使用InnoDB存储引擎的表的某些记录加S锁之前,那就需要先在表级别加一 阅读全文
摘要:
概念 术语 脏写( Dirty Write ): 如果一个事务修改了另一个未提交事务修改过的数据,那就意味着发了脏写 脏读( Dirty Read ) : 如果一个事务读到了另一个未提交事务修改过的数据,那就意味着发了脏读 不可重复读(Non-Repeatable Read): 如果一个事务只能读到 阅读全文
摘要:
回顾 每个索引都对应一棵B+树,B+树分为好多层,最下边一层是叶子节点,其余的是内节点。所有用户记录都存储在B+树的叶子节点,所有目录项记录都存储在内节点。 InnoDB 存储引擎会自动为主键(如果没有它会自动帮我们添加)建立聚簇索引,聚簇索引的叶子节点包含完整的用户记录。 我们可以为自己感兴趣的列 阅读全文
摘要:
简介 我们都知道mysql使用存储引擎的是InnoDB,InnoDB使用的索引的对应的数据结构是B+树 结构图: 如上图所示,我们实际用户记录是存放在B+树的最底层的节点上,这些节点也被称为叶子节点或者叶节点,其余用了存放目录项的节点称为非叶子节点或者内节点,最上边的节点为根节点。 InnoDB 是 阅读全文