作者:禅与计算机程序设计艺术
1.简介
随着互联网的飞速发展,网站的并发访问量越来越大,数据库的事务处理能力要求也越来越高。在这种情况下,如果应用服务器直接对数据库进行操作,可能会出现资源竞争、数据不一致等问题。为了解决这些问题,数据库系统中引入了事务隔离级别(Transaction Isolation Level)来控制并发访问导致的问题。
事务是由一组SQL语句或指令组成的一个完整工作单元,是一个不可分割的工作单位。事务具有四个属性,分别为原子性(Atomicity),一致性(Consistency),隔离性(Isolation),持久性(Durability)。所谓原子性,指一个事务是一个不可分割的工作单位,要么全部执行成功,要么全部失败回滚;所谓一致性,指数据库的状态从一开始到结束,只能有一个逻辑上的正确的状态;所谓隔离性,指多个事务并发执行时,一个事务内部的操作及使用的数据对另一个事务是完全不影响的;所谓持久性,指一个事务一旦提交,它对数据库中数据的改变就永久保存下来,不会因系统故障而丢失。
而在实际的应用当中,由于应用程序开发者对事务隔离级别的理解不同,往往会导致数据库中的数据不一致或者性能低下的情况发生。为了更好的解决这些问题,数据库系统厂商也给出了相应的解决办法,也就是不同的事务隔离级别对应不同的处理方式。下面我们将结合自己的一些知识和经验,探讨一下事务隔离级别的定义、区别、实现机制以及适用场景。
2.基本概念和术语说明
来源地址:https://blog.csdn.net/universsky2015/article/details/132914033