MySQL: 并发数据访问以及事务隔离级别
2013-06-08 21:08
351 查看
并发数据访问经常导致的问题有脏读、不可重复读、幻读。脏读:是指一个事务正在访问数据,做了修改,但尚未提交,这时,另一个事务也访问并使用了这个数据。不可重复读 :是指在一个事务内,多次读同一数据,但期间由于数据被另外的事务所修改,导致读取结果不一致。幻读 : 是指一个事务对一个表中的所有数据进行了修改。同时,另外一个事务添加了表中数据,那么就产生了第一次操作未完全成功的幻觉。前面两种问题发生于数据更改时,幻读发生于数据增删时。
对于上述的并发数据访问问题,数据库有事务隔离级别来分别处理。
对于MySQL,可以详细阅读mysql manual:
http://dev.mysql.com/doc/refman/5.0/en/set-transaction.htmlMySQL InnoDB默认事务隔离级别是REPEATABLE_READ, MyISAM不支持事务。
参考链接:http://en.wikipedia.org/wiki/Isolation_(database_systems)#
by iefreer
对于上述的并发数据访问问题,数据库有事务隔离级别来分别处理。
READ_UNCOMMITTED 会出现脏读、不可重复读、幻读 ( 隔离级别最低,并发性能高 ) READ_COMMITTED 会出现不可重复读、幻读(锁定正在读取的行) REPEATABLE_READ 会出现幻读(锁定所读取的所有行) SERIALIZABLE 无并发问题(锁表) DEFAULT 数据库默认隔离级别
对于MySQL,可以详细阅读mysql manual:
http://dev.mysql.com/doc/refman/5.0/en/set-transaction.htmlMySQL InnoDB默认事务隔离级别是REPEATABLE_READ, MyISAM不支持事务。
参考链接:http://en.wikipedia.org/wiki/Isolation_(database_systems)#
by iefreer
相关文章推荐
- mysql四种事务隔离级别以及mvcc并发访问控制
- EF Core下利用Mysql进行数据存储在并发访问下的数据同步问题
- 数据库选型之亿级数据量并发访问(MySQL集群)
- EF Core下利用Mysql进行数据存储在并发访问下的数据同步问题
- 数据库选型之亿级数据量并发访问(MySQL集群)
- 数据转发中心高并发访问次数统计(mysql实现)
- mysql性能优化(应对大量数据访问以及性能提身)
- linux mysql中开启远程访问以及开启最大连接数
- Visual C++优化对大型数据集合的并发访问
- ASP.NET中对数据并发访问的管理
- DataStage 九、数据交换到MySQL以及乱码问题
- Mysql 命令行导入sql数据,访问网站出现中文乱码的解决
- Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围
- mysql函数的创建以及hibernate调用mysql自定义函数以及数据对比功能,模仿中关村在线
- Mysql大数据量存储及访问的设计讨论
- SQL SERVER 导入、导出数据到Exce(使用OpenRowset,、OpenDataSource函数)以及访问远程数据库(openrowset/opendatasource/openquery)
- 微软企业库5.0学习笔记(三十五)数据访问模块 DataSet以及数据库事务
- MySQL服务器内部安全数据目录访问
- 分析Mysql大量数据导入遇到的问题以及解决方案
- mysql大数据高并发处理