07-TCL

nobility 发布于 2020-06-02 1977 次阅读


TCL

事务四大特性ACID(只有DML才有事务机制)

  • A:原子性:事务是最小的工作单元不可再分
  • C:一致性:多条DML语句同时成功或失败
  • I:隔离性:不同事务之间隔离
    1. 更新未提交:两个事务对同一数据更新操作,提交后,存在==丢失更新==现象
    2. 读未提交(read uncommitted):另一个事务未提交,当前事务可以读另一个未提交数据,存在==脏读(dirty read)==现象
    3. 读已提交(read committed):另一个事务提交后,当前事务就能读到,存在==不可重复读()==
    4. 可重复读(repeatable read):存在==幻影读==
    5. 序列化读(serializable):事务排队执行,效率低
  • D:持久性:数据持久化到硬盘文件,事务结束

MySQL中的事务

事务的开启

start transaction;
begin transaction;
-- 开启事务
...
savepoint name;
-- 设置保存点,可回滚当前name保存点
...
rollback [name]| commit;
-- 事务提交或回滚,可回滚到name保存点

设置事务隔离级别

set global transaction isolation level [];
-- 设置全局事务隔离级别,[]可选一下参数
-- read uncommitted 读未提交
-- read committed 读已提交
-- repeatable read 可重复读
-- serializable 序列化读
select @@global.tx_isolation;
-- 查看全局事务隔离级别
此作者没有提供个人介绍
最后更新于 2020-06-02