惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
小众软件
小众软件
博客园 - 【当耐特】
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
Engineering at Meta
Engineering at Meta
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
H
Help Net Security
博客园_首页
P
Proofpoint News Feed
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
N
Netflix TechBlog - Medium
爱范儿
爱范儿
MyScale Blog
MyScale Blog
Blog — PlanetScale
Blog — PlanetScale
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Google DeepMind News
Google DeepMind News

博客园 - luckygxf

架构积累-系统划分 架构积累-软件架构终极目标 javascript构造方法 数据库连接池初始连接 分布式系统CAP理论(一) 数据库连接太多排查(一) 审批流程-节点自动审批通过 防表单重复提交 深分页问题 devops 对象存储迁移-组件上线 工作效率提升 新需求开发-重构老的逻辑 js析构赋值 框架的好处和不足 React框架Hello world 数据库表设计在哪个接口 需求实现-ddd四层架构实现 前端代码(一) 高内聚,低耦合 对象存储改造 mermaid初体验 业务逻辑优化-解决提示词问题打分不准 idea 插件envfile初体验 防盗链-防盗用链接 springboot项目启动小技巧 github托管网站 AI MCP开发 AI中 MCP 作用 mapconstruct 初体验
工作总结-MVP
luckygxf · 2026-04-05 · via 博客园 - luckygxf

公司陪练项目,有课程管理模块,需要新增,修改课程。每个课程有多个问答、情景/关卡,人设等信息。这些信息保存在多个数据库表里面,涉及对多个表进行操作。如果不使用事务,可能会有脏数据

目前项目代码,数据库操作是Python脚本里面的方法,对单表操作加了事务。想实现类似springboot+mybatis plus的效果,使用注解,在应用层使用事务。

搞了一个版本,把所有的curd都改了,项目要上线了。检视代码的时候,发现如果在时间比较长的方法,加事务,会导致时间长的事务。陪练的数据库,其他应用还在使用,可能会导致其他应用访问数据库卡住

同时,我把数据库操作的curd都封装成了mapper类

需要注意的是

1、是否需要使用事务,是否允许脏数据, 目前公司是允许有脏数据的

2、不要对整个方法开启事务,对操作数据库的代码开启事务

3、修改的时候,遵循mvp原则,最小版本原则。工作量小,快速验证迭代,不用大量重构、推到重来,效率低