zoukankan      html  css  js  c++  java
  • Mysql知识:事务

    什么时候用事务
    除了查询,只要修改(增删改)就加事务
     
    事务的定义:数据库事务( transaction)是一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。
     
    innodb支持事务,myisam不支持事务
     

    事务的四大特性:

    ACID
    原子性:操作最小单位,永远不会出现部分失败
    一致性:最终目标,更像业务最终的合理性。指事务执行前后,数据处于一种合法的状态
    隔离性:多个事务对一个表的操作是相互隔离的
    持久性:只要事务提交成功,提交是永久的
    举例参考:https://zhuanlan.zhihu.com/p/65281198
     
     
    数据库事务什么时候出现
    autocommit自动是开的,updtae等语句会自动提交事务
     
    手动提交事务
    begin;
    updatae。。。。。。。。。。
    commit
    不执行commit数据不会刷新
    结束事务两种方式:rollback回滚,commit提交
     
     

    事务并发的三大问题:

    脏读:一个事务读到了另一个事务修改但没有提交的数据
     

     不可重复读:读到了其他事务已经提交了的删改(不包括增)的数据

     幻读:读到了其他事务已经提交了的插入的数据

    脏读--不可重复读 提交还是不提交
    幻读--不可重复读 插入还是删改

    三大问题:
    问题其实都是读一致性问题
    所以诞生了事务隔离机制
     
     
    四种事务隔离级别:
    串行化,未提交读基本不会用到

    解决的问题:

    事务隔离级别的解决方案

  • 相关阅读:
    HTML 5 音频
    HTML 5 视频
    HTMl链接- target/ name
    HTML 链接
    OGNL_一点
    struts_表单得到数据
    MySql_十六进制值
    HTML 事件属性(下)
    作业3-2 输入一个正整数 n,再输入 n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数
    作业3-1 .输入一个整数 x,计算并输出下列分段函数 sign(x) 的值
  • 原文地址:https://www.cnblogs.com/take-it-easy/p/14535452.html
Copyright © 2011-2022 走看看