-- 事务在操作时的理想状态: 所有的事务之间保持隔离,互不影响。因为并发操作,多个用户同时访问同一个 数据。可能引发并发访问的问题:
-- 脏读:一个事物读取到另一个事物中尚未提交的数据
-- 幻读:一个事务中两次读取的数据的数量不一致,要求在一个事务多次读取的数据的数量是一致 的,这是 insert 或 delete 时引发的问题
-- 不可重复读:一个事物中两次读取的数据不一致,要求的是一个事务中多次读取时数据是一致的,这 是事务 update 时引发的问题
-- 事物的四大特性A(原子性)C(一致行)I(隔离性)D(持久性)
-- 事物的隔离级别
-- read uncommited:读未提交(级别最低,安全性最差)会出现脏读、不可重复读、幻读
-- read commited:读已提交(能够防止脏读),会出现不可重复读、幻读
-- repeatable read:可重复读(防止脏读,不可重读问题),不能防止幻读
-- serializable:串行化(可以防止脏读、不可重读、幻读),效率(性能低)-- 事务的隔离级别越高,安全性最高但是性能最低!
-- 查看事务的隔离级别
SELECT @@tx_isolation; -- mysql的默认的隔离级别:repeatable read:可重复读!
mysql事务的四大特性以及隔离级别
最新推荐文章于 2023-02-25 15:28:26 发布