04|事务性能优化

4.1大事务的影响

● 并发情况下,数据库连接池容易被撑爆

● 锁定太多的数据,造成大量的阻塞和锁超时

● 执行时间长,容易造成主从延迟

● 回滚所需要的时间比较长

● undo log膨胀

● 容易导致死锁

4.2事务优化

● 将查询等数据准备操作放到事务外

● 事务中避免远程调用,远程调用要设置超时,防止事务等待时间太久

● 事务中避免一次性处理太多数据,可以拆分成多个事务分次处理

● 更新等涉及加锁的操作尽可能放在事务靠后的位置

● 能异步处理的尽量异步处理

● 应用侧(业务代码)保证数据一致性,非事务执行 一般不建议使用这种方式

相关推荐
St_rive4 小时前
Page Object设计模式
java·开发语言·设计模式
风流 少年5 小时前
Spring AI 2.0:SSE
java·人工智能·spring
凤山老林5 小时前
精细化流量治理:Spring Boot 动态特性开关与灰度发布体系
java·spring boot·后端
杨运交5 小时前
[060][调度模块]Redisson vs Redis 原生锁:两种分布式锁实现深度对比
数据库·redis·分布式
FungLeo5 小时前
Node 后端实战 · 列表查询到底怎么写?一个通用 DSL 封装,过滤分页排序一次搞定
数据库·node.js·serverless·dsl 封装·通用列表查询
抓蛙师5 小时前
多租户 tenant_id SQL 注入漏洞分析与应急响应报告
数据库·sql
ACP广源盛139246256736 小时前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 私有化部署下 GSV2221 视频转换芯片机遇分析
大数据·数据库·人工智能
七牛开发者7 小时前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
Aphelios3807 小时前
一次锁内网络IO引发的Tomcat线程池“饿死”事故
java·开发语言·spring boot·elasticsearch·tomcat·网络io阻塞·线程池耗尽
不可求~7 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++