为什么DBA不让给MySQL数据库中加触发器呢?
时间:2022-07-23
本文章向大家介绍为什么DBA不让给MySQL数据库中加触发器呢?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在一次迭代的时候,我给数据库中增加了两个时间字段:
`update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
当时是紧急发布在leader的劝说下DBA 允许先上了,DBA当时就提了下个迭代给撤掉。 为什么DBA不让给数据库加触发器呢?
触发器功能强大,轻松可靠地实现许多复杂的功能,为什么又要慎用呢。触发器本身没有过错,但由于我们的滥用会造成数据库及应用程序的维护困难。在数据库操作中,我们可以通过关系、触发器、存储过程、应用程序等来实现数据操作…… 同时规则、约束、缺省值也是保证数据完整性的重要保障。如果我们对触发器过分的依赖,势必影响数据库的结构,同时增加了维护的复杂程度。 还有就是个人看法触发器在MySQL服务器执行的效果和在业务i代码中执行的性能浪费相对来说在业务代码比较少吧。
还有就是在去掉触发器的过程中也遇到问题: 那就是Jooq 到底还generate吗? 于是就试了下,其实在不改变参数类型字段大小的时候是不用再去自动生成的,然后在业务逻辑上增加了时间的处理逻辑。
//获取当前时间戳
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
还有需要注意的是: 去除触发器的时候一定不要去更改字段类型或者是更改其默认值, 这样及其有可能出现数据库出现字段类型异常等问题。
- Python常见数据结构整理 Python常见数据结构整理
- “共享洗车机”落户咸阳,你怎么看?
- 蒋涛——软件是一个非常特殊的产业,一旦进入就再难挣脱
- Pechkin:html -> pdf 利器
- C#执行XSL转换
- javascript:算法笔记
- spring boot 登录注册 demo (一)
- linux学习:CentOS、Mac上SSH的设置以及SceureCRT中的文件上传下载
- 中关村成为北京“高精尖”产业发展主阵地
- jquery-barcode:js实现的条码打印
- 页面json 格式化+颜色高亮
- Python 里 and、or 的计算规则
- Python中赋值、浅拷贝与深拷贝
- git 简易使用说明
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解