事务的隔离级别&&innoDB和Mysalm的区别

事务的隔离级别

从低到高:
1、Read_UnCommitted---->事务未提交时,别人也能看到你修改过的数据,但是不能和你在同一时间修改数据,属于隔离级别最低的,可以通过排它锁实现
2、Read_Committed---->读数据的事务开启后允许别的事务读取本行数据,但写事务开启以后提交之前任何事物不能访问本行,大多数据库的隔离级别都是这一级
3、Repeat_Read ---->读取事务可以允许继续读事务单不允许写事务,写事务一旦开启以后,禁止任何其他事务,MySQL是这一级别(为了解决主从不一致显现,保证主从复制不出问题)
4、Serializable(可串行化)----->最高级别,要求事务序列化执行,事务只能一个一个的执行,不允许并发执行
在这里插入图片描述

关于脏读、不可重复读、幻读

脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。

不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。

幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。

顺便一提事务的四大特性(ACID)

原子性 (Atomicity):保证事务所有完整的逻辑性,要么食=事务内所有操作都成功,要么全部回滚
一致性 (Consistency):事务的执行结果必须从一个一致性状态变成另一个一致性状态
隔离性 (Isolation):一个事物的执行不能被别的并发事物所干扰
持久性 (Durability):事物一旦提交,其对数据库的改变应该是永久的。

innodb和Mysalm
innodb和Mysalm分别是什么

就是一个引擎类型

区别

在这里插入图片描述
1、 myisam不支持事务,innodb支持,innodb有外键,myisam支持全文索引,查询效率更高。myisam只有表锁,innodb支持行锁。

2、存储结构:Myisam存储在磁盘上,分三个文件存储,第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。

innodb只在一个文件中存储,它的大小通常受限于操作系统的大小,一般大概在2G左右

3、索引不一样
myisam的b树结构的叶子节点存储的是数据的物理位置,最终通过数据的物理位置去找到真实数据。
innodbB+树叶子节点下面直接存储有数据,而次索引下,存储的是主键的id。通过主键查找数据的时候,就会很快查找到数据,但是通过次索引查找数据的时候,需要先查找到对应的主键id,然后才能查找到对应的数据。
4、关于聚簇索引和非聚簇索引
innodb聚蔟索引相当于汉语字典正文,索引就是拼音,从a到z按顺序排列,数据就是字也按照从a到z的顺序排列。索引顺序与数据顺序排列一致。

mysalm非聚蔟索引相当于偏旁部首,最终偏旁部首索引项b数结构存放的是目录,也就是数据的物理地址,而且偏旁部首索引顺序与数据的索引顺序不一致,没有关系。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值