mysql之事务
我们为什么要使用数据库的事务呢?使用事务有什么缺点呢?
使用原因:保持数据的匹配和一致性。
缺点: 并发操作中过度使用事务影响性能,因为事务用到了锁技术。
我是李福春,今天我们来复习一下事务的特性。
你可以收获下图中的知识点。
下面我们发散一下。
事务特性
原子性: 要么全部成功要么全部失败
一致性: 保证事务的前后一致性
隔离性:事物之间的执行不能互相干扰
持久性: 事务终结的标志,内存的数据持久化到硬盘中
并发场景下事务出现的问题
脏读:
不可重复读
幻读:
依赖id的自增做为依据。
隔离级别
读未提交 隔离度最弱 脏读 不可重复度 幻读
读已提交 不可重复度 幻读
可重复读 数据库默认 幻读
可串行化 性能最低 没有问题
innodb mvcc 不能解决幻读
如何跟合理的使用事务
没有数据一致性要求场景
不使用事务
只有查询的场景:
不需要使用事务
更新记录表,然后更新统计表
不要使用事务, 使用事务触发或者定时任务;
内容繁杂的大事务
分拆成各种小事务,各种反向操作辅助
原创不易,转载请注明出处。
no pays,no gains!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架