1.事务的特性: 事务有四大特性,分别是原子性,一致性,隔离性,持久性 原理性是说:事务是数据库的工作单位,事务中的工作要么都做要么都不做 一致性是说:每个事务的执行就是将数据库从一个一致性改变到另一个一致性(这里是死机硬背的,没有理解) 隔离性:一个事务的执行不会收到其他事务的影响。 持久性:事务一旦提交,他对数据库所做的更改就是永久的。 2.事务执行的四种隔离级别: 序列化(serializable):为查询语句所涉及的数据加上共享锁,阻塞其他事务修改数据(记都没记住) 可重复度(Repeatable-Read):同一个事务的两次查询之间,及时有其他事务更改并提交了数据。这两次的查询就过也是一致的,所以叫做可重复度。但是这种隔离级别会产生“幻读”的问题,即在一个事务的两次查询之间插入有新的数据,则在第二次查询的时候会对出数据。这个问题在INNODB和Falcon存储引擎中已经的得到解决。 读已提交(Read Committed):同一事务的两次查询之间,如果有其他事务更新并提交了数据,则第二次查询的数据和第一次的不一致。这种现象称为不可重复读。 读为提交:(Read Uncommitted):一个事务的更新在其他所有事务中都能看的到。这种现象称为脏读。 |
|