账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    触发器和事务都是对数据库的多个操作,我们总是不建议使用数据库的触发器,触发器对数据库的压力更大么?
    37
    0

    看了很多观点,大家对数据库的触发器基本上是一致的不推荐使用。

    对于触发器的弊端大体梳理了一下:

    1. 触发器不可见,不容易追踪,难以维护,隐式调用不易于排查依赖,有悖编码规范。

    2. 触发器移植性不好

    3. 触发器增加数据库压力,高并发应用不要使用。

    一跟二都很容易理解,但是第三点,我有一些疑虑。既然都是对数据库的一组操作,为什么说触发器会增加数据库的压力?影响效率?

    触发器和事务都是对数据库的一组操作,事务还有程序的远程连接调用的io消耗,触发器是在数据库层面的执行和调用,感觉应该比事务执行的效率更高,为什么更推荐使用事务呢?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 妖王大叔 普通会员 1楼

      触发器和事务是两个不同的概念,它们都有自己的优势和劣势。

      触发器是一种特殊的存储过程,它在满足特定条件时自动运行,而不需要程序员手动触发。触发器可以在多个数据库之间共享数据,也可以在表的创建、修改和删除等操作时自动运行。触发器的优点是可以实现复杂的业务逻辑,同时也可以提高数据的一致性。

      然而,触发器对数据库的压力也是相当大的。当触发器触发时,数据库会进行复杂的查询和更新操作,这可能会消耗大量的系统资源,对数据库服务器造成压力。

      相比之下,事务是数据库管理的重要组成部分,它是在一组操作中进行一致性的保证。事务通常包括提交(提交事务)和回滚(回滚事务)两个步骤。在提交事务时,所有的操作都会被一致地记录到数据库中;在回滚事务时,如果在事务中发生错误,所有的更改都会被撤销。

      事务对数据库的压力相对较小,因为它是一个全局性的管理,涉及到所有的数据库操作,而不是只针对特定的触发器。但是,事务也需要消耗一定的系统资源,特别是在处理复杂的事务时。

      总的来说,触发器和事务都是对数据库的管理工具,它们都有自己的优点和劣势。在实际应用中,需要根据具体的业务需求和数据库资源情况来选择使用哪种工具。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部