MySQL事务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL事务相关的知识,希望对你有一定的参考价值。

mysql存储原理:
mysql的存储过程是函数经过编译并存储在数据库中的一段SQL语句集合,相当于一个函数编译执行的过程,只是函数不需要有返回值,直接存储编译后的数据


一、数据库的基本要素(ACID):
1.原子性:事务操作是不可分割的,要么完成,要么不执行
2.一致性:多个事务并行执行,执行结果必须按照某一顺序执行相同
3.隔离性:多个事务执行互相不干扰,执行中结果对其他事务必须透明
4.持久性:执行成功的事务,对数据库改变必须是永久的,不能应为某些原因(掉电)消失


二、数据库事物隔离级别:
读未提交(read-uncommitted)
读提交(read-committed)
可重复读(repeatable-read)
串行化(serializable)


三、数据库设计三范式:
1NF:属性不可再分,即字段不能再分(最基本的数据单元)
2NF:满足1NF,且非主键字段必须完全依赖主键
3NF:满足2NF,且非主键字段必须直接依赖主键,不能间接依赖


四、事物并发问题:
1.脏读:事务A读取了事务B更新的数据,当B事务回滚,A事务读取到的数据都为脏数据
2.不可重复读:事务A多次读取同一数据,事务B在事务A多次读取中修改了数据,导致事务A读取的数据不一致
3.幻读:事务A在针对表中数据进行修改,涉及表中全部数据行,同时事务B也修改了表中的某一行数据(插入一行新数据),那么事务A就会发现表中还有没有修改的数据行,产生了幻读(读提交可解决)

以上是关于MySQL事务的主要内容,如果未能解决你的问题,请参考以下文章

MySQL事务

MySQL事务

MySQL事务

mysql 如何查询数据库事务是只读事务还是读

MySQL事务

MySQL 事务四大特性和事务隔离级别