zoukankan      html  css  js  c++  java
  • mysql 隔离级别

    1 事务就是一组数据库操作,要不全部都成功,要不全部都失败。
    2 事务包含ACID (Atomicity Consistency Isolation Durability)。
    3 数据库上有多个事务同时执行的时候,就有可能造成 脏读(dity Read)不可重复读(no-repeatable read)幻读(phantom read),因此就有了事务的隔离级别。
    4 sql 的标准隔离级别有:
    4.1 读未提交(read uncommit): 一个事务还没提交,它做出的改变就能被别的事务看到。
    4.2 读提交(read commit): 一个事务提交后,它做出的变更才能被别 的事务看到。
    4.3 可重复读(repeatable read): 一个事务在执行中看到的数据,总是和这个事务启动的时候,看到的数据是一致的。
    当然在可重复读的隔离级别下,事务执行过程中数据的改变对其他事务时不可见的。
    4.4 串行化(serializable): 对于同一行记录,写会加写锁,读会加读锁。别的事物要访问这条记录,只能等当前事务提交之后才能访问 这条记录。

    mysql 展示 当前变量的事务 show variables like 'transaction_isolation';

    5 事务的实现原理
    mysql 在更新每条记录的时候,都会同时创建一条回滚操作(read-views)。记录上的最新值可以通过read-views回滚到之前的值。

    6 你可以在 information_schema 库的 innodb_trx 这个表中查询长事务,比如下面这个语句,用于查找持续时间超过 60s 的事务。
    select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>60

  • 相关阅读:
    1055. [HAOI2008]玩具取名【区间DP】
    BZOJ2435:[NOI2011]道路修建 (差分)
    1084. [SCOI2005]最大子矩阵【网格DP】
    1060. [ZJOI2007]时态同步【树形DP】
    1050. [HAOI2006]旅行【并查集+枚举】
    2463. [中山市选2009]谁能赢呢?【博弈论】
    luogu P1195 口袋的天空
    luogu P1162 填涂颜色
    luogu P1223 排队接水
    luogu P1331 海战
  • 原文地址:https://www.cnblogs.com/prader6/p/14950146.html
Copyright © 2011-2022 走看看