![]() |
1
1
使现代化 :根据OP的评论,显然上下文非常具体。对于无法访问(或无法反馈和指导开发团队)代码的基础架构团队,需要一种机制来记录生产数据库中的表更改。 : 触发器可能很难调试,尤其是因为它们是透明的,而且对于刚看过你的代码的人来说,触发器在幕后执行某些操作从来都不明显。(我是凭经验说的。)它们也会在 replicated 、多主机和群集安装。(同样,我是根据经验说的。)此外,如果他们由于一些不相关的原因(例如,他们写的表坏了)而失败,那么 全部的 事务可以/将失败(InnoDB)-这可能不是您想要的。(尤其是非必要的“调试”功能。)
您还可以选择其他几个选项,我要强调其中两个选项:
如果您非常以数据为中心,并且在数据库中已经有了业务逻辑(这是一个备受争议的话题,我不是在这里争论您应该或者不应该在数据库中有业务逻辑),那么通过存储过程对数据库进行读写具有明显的优势。
任何
可以将逻辑插入这些存储过程中,以便
交易不安全
数据抽象层/库
使用这两种选项,请确保适当地处理错误场景。 |
![]() |
2
0
这个
|
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |