【数据库】快速理解脏读、不可重复读、幻读
理解这三种由于并发访问导致的数据读取问题,再理解事务隔离级别就简单多了。 【1】脏读(读取未提交数据) a事务读取b事务尚未提交的数据,此时如果b事务发生错误并执行回滚操作,那么a事务读取到的数据就是脏数据。就好像原本的数据比...
理解这三种由于并发访问导致的数据读取问题,再理解事务隔离级别就简单多了。 【1】脏读(读取未提交数据) a事务读取b事务尚未提交的数据,此时如果b事务发生错误并执行回滚操作,那么a事务读取到的数据就是脏数据。就好像原本的数据比...
第一范式(1nf): 列1唯一确定列2, 列3, 列4, ...,即列2, 列3, 列4, ...不能再分裂出其它列。 假设有关系模式列1: 订单名; 列2: 商品。一个订单下可以有多个商品,即列2: 商品可以分裂成商品a, 商品b...
概述 相对其他数据库而言,mysql的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。 mysql大致可归纳为以下3种锁: 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,...
区别: 1. innodb支持事务,myisam不支持,对于innodb每一条sql语言都默认封装成事务,自动提交,这样会影响速度,所以最好把多条sql语言放在begin和commit之间,组成一个事务; 2. innodb支持...
一、sql语句执行流程 mysql大体上可分为server层和存储引擎层两部分。 server层: 连接器:tcp握手后服务器来验证登陆用户身份,a用户创建连接后,管理员对a用户权限修改了也不会影响到已经创建的链接权限,必须重新登陆。 查询...
引言 为什么需要锁(并发控制) 在并发的环境中,会存在多个用户同时更新同一条数据,这时就会产生冲突。 冲突结果: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生...
mysql数据库是当前应用最为的广泛的数据库,在实际工作中也经常接触到。真正用好mysql也不仅仅是会写sql就行,更重要的是真正理解其内部的工作原理。本文先从宏观角度介绍一些mysql相关的知识点,目的是为了让大家对mysql能有一个大体...
日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。作为开发,我们重点需要关注的是二进制日志(binlog)和事务日志(包括redo lo...
从《mysql存储引擎innodb详解,从底层看清innodb数据结构》中,我们已经知道了数据页内各个记录是按主键正序排列并组成了一个单向链表的,并且各个数据页之间形成了双向链表。在数据页内,通过页目录,根据主键可以快速定位到一条记录。这一...
innodb一个支持事务安全的存储引擎,同时也是mysql的默认存储引擎。本文主要从数据结构的角度,详细介绍innodb行记录格式和数据页的实现原理,从底层看清innodb存储引擎。 本文主要内容是根据掘金小册《从根儿上理解 mysql》整...