0
点赞
收藏
分享

微信扫一扫

JS初步了解this

small_Sun 2023-12-06 阅读 62

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8" />

    <title>MySQL的事务</title>

</head>

<body>

    <!--

        事务是一组操作的集合,它是一个不可分隔的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。

        默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。

     -->

     <!-- 事务的操作

        方式一:

        查看/设置事务提交方式

        select @@autocommit;

        set @@autocommit = 0;

        提交事务

        事务正常,执行commit提交

        commit;

        回滚事务(结束该事务)

        事务异常,执行rollback回滚

        rollback;

        方式二:

        开启事务

        start transaction或begin;

        提交事务

        commit;

        回滚事务(结束该事务)

        rollback;

    -->

    <!--事务四大特性

        原子性(Atomicity):事务是不可分隔的最小操作单元,要么全部成功,要么全部失败。

        一致性(consistency):事务完成时,必须使所有的数据都保持一致状态

        隔离性(isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作的影响的独立环境下运行

        持久性(durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

    -->

     <!-- 并发事务问题

        脏读:一个事务读到另外一个事务还没有提交的数据

        不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同,称为不可重复读

        幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现该行数据已存在,好像出现了‘幻影’

    -->

    <!-- 事务的隔离级别

        解决并发事务问题

        read uncommitted:解决不了脏读,不可重复读,幻读

        read committed:解决了脏读,解决不了不可重复读,幻读

        repeatable read(默认):解决了脏读,不可重复读,解决不了幻读

        serializable:解决了脏读,不可重复读,幻读

        查看事务隔离级别

        select@@transaction_isolation;

        设置事务隔离级别

        set [session|global] transaction isolation level {read uncommitted | read commited | reqeatable read | seriakizable}

        注意:事务的隔离级别越高,数据越安全,但是性能越低。

        -->

</body>

</html>

举报

相关推荐

初步了解java

docker初步了解

HTML初步了解

FFmpeg初步了解

DHCP的初步了解

初步了解数组

0 条评论