mysql事务隔离级别
2018-06-18 00:05:37来源:未知 阅读 ()
概念
隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一定的影响作用。
脏读:读取未提交的数据;
不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间另外的事务修改了符合条件的数据;
幻读(Phantom Read):在一个事务的两次查询中数据行数不一致,这可能是两次查询过程中另外的事务对表做了insert或者delete操作;
注意:不可重复读和幻读的区别。两者都是数据不一致,前者是同一事务中两次查询,结果的数据行数一样,具体某些行的某些列数据不一样;后者指的是同一事务中,前后两次查询结果的行数不一样(两次查询期间另外的事务执行了insert或者update)。
为什么要分成两种形式呢,控制机制不一样。对于前者, 只需要锁住满足条件的记录即可。对于后者,要锁住满足条件及其相近的记录甚至整个表。
Read Uncommitted(未提交读):在该隔离级别,所有事务都可以看到其他未提交事务的执行结果,即允许读取脏数据;
Read Committed(已提交读):这是大多数数据库系统的默认隔离级别(SQL SERVER的默认隔离级别,但不是MySQL默认的),定义:一个事务只能看见已经提交事务所做的改变;
Repeatable Read(可重复读):这是MySQL的默认事务隔离级别,它确保同一事务的多个实例在并发读取数据时,会看到同样的数据行;
Serializable(可串行化):这是最高的隔离级别,它通过强制事务排序,使之不可能相互冲突,从而解决幻读问题。简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时现象和锁竞争。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash