数据库事物特性是什么?事务的隔离级别有哪些?
数据库事物特性是什么?事务的隔离级别有哪些?
答:数据库事务特性分为ACID
A 原子性:在一个事务中有多个操作,要么同时提交成功,要么同时失败回滚
C 一致性:在一个事务执行的前后,必须保证从一个一致状态变成另一个一致状态,举个例子:A和B两者的钱一共400元,A和B来回转账,不论转几次,怎么转最终结果都是A和B总计400元
I 隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的。
D 持久性:对一个事务进行提交,如果提交成功,那么数据一定永久保存下来,即便系统故障了,恢复以后数据应该仍在。
MySql的隔离级别有:
串行化(Serializable): 可避免脏读,不可重复读,幻读
可重复读(Repeatable read):可避免脏读,不可重复读 这是默认的隔离级别
读已提交(Read committed):可避免脏读
读未提交(Read uncommitted):无法保证任何操作
Oracle只有读已提交和串行化2种隔离级别