mysql 触发器的影响_MySQL触发器的作用及弊端

MySQL触发器是一种数据库脚本,当特定表发生插入、删除或更新时自动执行。它们用于实现安全性、审计、复杂完整性规则、数据同步等,但也带来维护复杂性、性能问题和定位错误的挑战。创建触发器包括指定名称、触发时间、事件和表名,每个表最多可有6个不同类型的触发器。虽然触发器提供了灵活性,但过度使用可能影响代码清晰度和数据库性能。
摘要由CSDN通过智能技术生成

前言:

触发器只是用在特定的场合,一般情况下,我们还是在代码中处理,因为同一个业务逻辑中,如果代码和sql中都有业务逻辑,那么后期维护将很麻烦,所以要根据实际情况来选择,看是否合适。触发器就是写在数据库中的一个脚本sql,当数据库某一个字段发生改变的时候,触发一个或多条sql语句,同时让多张表的数据同步。比如我们有的表中存放了部门名称,那么当我们部门名称发生改变的时候,我们应该调用触发器同时去修改存放了“部门名称”这个冗余字段。

什么是触发器:

简单的说,就是一张表发生了某件事(插入、删除、更新操作),然后自动触发了预先编写好的若干条SQL语句的执行.

特点及作用:

特点:触发事件的操作和触发器里的SQL语句是一个事务操作,具有原子性,要么全部执行,要么都不执行.

作用:1.安全性。可以基于数据库的值使用户具有操作数据库的某种权利。

2.审计。可以跟踪用户对数据库的操作。

3.实现复杂的非标准的数据库相关完整性规则。触发器可以对数据库中相关的表进行连环更新。触发器能够拒绝或回退那些破坏相关完整性的变化,取消试图进行数据更新的事务。当插入一个与其主健不匹配的外部键时,这种触发器会起作用。

4.同步实时地复制表中的数据。

5.自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。

弊端:

1.增加程序的复杂度,有些业务逻辑在代码中处理,有些业务逻辑用触发器处理,会使后期维护变得困难.

2.如果需要变动整个数据集而数据集数据量又较大时,触发器效果会非常低.

3.对于批量操作并不适合使用触发

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值