MySQL-mysql 触发器一般用在什么地方,大家说说触发器在业务逻辑方面一般用在哪里?
mysql 触发器一般用在什么地方,大家说说触发器在业务逻辑方面一般用在哪里?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
mysql 触发器一般用在什么地方,大家说说触发器在业务逻辑方面一般用在哪里?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
触发器一般是用于在一个表的数据更新后,触发相关表实现联动更改,这样做有一个好处就是在进行数据更新时,只要更新一处数据,其他业务逻辑需要修改的地方就能全部交由数据库定义的触发器在数据库层面修改其他表的数据。
这些业务,比如说用户登录动作,在用户登录后,我们只要更新最后登录时间,同时通过触发器,来把用户的信息放到在线用户表里,另外也可以定义触发器在消息表里生成一些数据来推送给用户等等。
不过以我以往的经验,我建议最好不要使用触发器,可以使用队列来实现类似的功能,主要原因:
1.建立了触发器后,各表间就形成了一种耦合关系,当数据量大了以后,想做数据拆分、数据库变更、数据库存储优化等等,都非常困难了,有的甚至动不了,比如我以前经历过的一个系统,开始使用的是sqlserver数据库,上面自定义了一些触发器,不过后来数据量大了,想使用mysql来分离一些数据,但系统又要一直保持在线可用状态,想整改优化系统的存储,非常痛苦!
2.在数据库的使用原则上,我建议,最好只使用数据的存储跟查询这些最基本的功能,尽量减少数据库的逻辑运算,这样才能最大程度的发挥数据库性能,也更有利于系统的性能扩展,减低系统耦合性等。