数据库

 首页 > 数据库 > MySql > 数据库事务的隔离级别简单总结

数据库事务的隔离级别简单总结

分享到:
【字体:
导读:
         摘要:数据库中事务的隔离级别有四种,级别由低到高分别为:Read uncommitted、Read committed、 Repeatable read和Serializable 四种。这四个级别可以逐个解决脏读、不可重复读、幻读这几个问题。 ...

数据库事务的隔离级别简单总结

数据库中事务的隔离级别有四种,级别由低到高分别为:Read uncommitted、Read committed、 Repeatable read和Serializable 四种。这四个级别可以逐个解决脏读、不可重复读、幻读这几个问题。

如果当前隔离级别为Read uncommitted时,可能出现脏读,即可能读到还未提交的临时写数据。

如果当前隔离级别为Read committed时,能够避免脏读,但可能造成不可重复读,即两个事务同时对同一个数据进行修改时,发生的数据一致性和完整性的破坏。大部分的数据库的默认级别都是Read committed,如SQL Server和Oracle。

如果当前隔离级别为Repeatable read时,可以避免不可重复读,即当前有两个及以上数量的事务读取同一数据时,数据库选择对第一个访问该数据的事务可读可写,对第二条及其后的事务为只读。尽管这样可以避免不可重复读,但是当事务A两次读取同一个数据时,如果期间有其他对数据库可读可写的事务对数据进行修改时,那么事务A两次读取数据得到的结果极有可能是不一致的,即造成了幻读。

Serializable序列化时数据库中最高级别的事务隔离级别,在该级别下,事务按照顺序执行,这样能够避免脏读、不可重复读和幻读,但所造成的花销大、性能低下。 数据库事务的隔离级别简单总结
分享到:
外网联接内网mssql
外网联接内网mssql参考地址:http://www.nat123.com/Pages_8_266.jsp 方法如下: 1、注册一个账号,同时进入nat123官网添加dns域名解析 点击确认保存,刚刚添加的域名解析在DNS解析列表中可以看到 2、 在内网目标服务器上安装并启用nat123,添加映射,使用其他应用类型。内网地址端口是内网MSSQL地址端口,外网地址端口自...
shell 提取mysql指定数据库下表创建语句...
shell 提取mysql指定数据库下表创建语句为单文件dbcn="mysql -h172.16.1.194 -uroot -p123456"; db=dsp_ad_center; ii=0; ct=`$dbcn -N -e " SELECT COUNT(1) FROM information_schema.TABLES AS t WHERE t.TABLE_SCHEMA = '$db' AND t.TABLE_TYPE = 'BASE TABLE' ; "`; mkdir -p /chenenhui/$db whi...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……