前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库事务的总结

数据库事务的总结

作者头像
闻语博客
发布2021-01-21 17:33:41
3070
发布2021-01-21 17:33:41
举报
文章被收录于专栏:闻语博客闻语博客

什么是事务

数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作(对数据库的相关增删改查的操作),要么完全地执行,要么完全地不执行。


事务的四大特性

事务特性

含义

原子性(Atomicity)

每个事务都不能再拆分,如果事务中有多条语句,它们应该是一个整体。要么全部成功,要么全部失败。

一致性(Consistency)

事务执行前与事务执行后,数据库的状态应该是一致的。如:转账操作,转账前前与转账后两个人的总金额应该是一样的。

隔离性(Isolation)

如果同时有多个事务在数据库中执行,事务与事务之间应该互不影响。

持久性(Durability)

事务一旦提交,对数据库的影响是持久的,就算关闭服务器,数据也是持久存在。


事务的隔离级别

事务在操作时的理想状态:事务与事务之间不会有任何影响

并发访问的问题

含义

脏读

一个事务读取到了另一个事务中尚未提交的数据

不可重复读

一个事务中两次读取的数据内容不一致,要求的是一个事务中多次读取时数据是一致的,这是事务update时引发的问题

幻读

一个事务中两次读取的数据的数量不一致,要求在一个事务多次读取的数据的数量是一致的,这是insert或delete时引发的问题


MySQL数据库有四种隔离级别

上面的级别最低,下面的级别最高。“是”表示会出现这种问题,“否”表示不会出现这种问题。

级别

名字

隔离级别

脏读

不可重复读

幻读

数据库默认隔离级别

1

读未提交

read uncommitted

2

读已提交

read committed

Oracle和SQL Server

3

可重复读

repeatable read

MySQL

4

串行化

serializable


参考文章1

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020 年 08 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档