MySQL-mysql 触发器 性能问题
MySql中很多问题看起来用触发器解决都很完美,但是网上一直有说法,触发器的性能比较低。想请教一下,有没有实际在大压力高并发场景下使用触发器的经验,效果如何。谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
MySql中很多问题看起来用触发器解决都很完美,但是网上一直有说法,触发器的性能比较低。想请教一下,有没有实际在大压力高并发场景下使用触发器的经验,效果如何。谢谢。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
小型项目用触发器无妨,问题应该不大。但是如果是大型项目,就得考虑一下,综合几个方面:
1. 业务逻辑是否频繁变动
2. 是否有足够的人手写后端的触发器代码?
3. 触发器的逻辑是不是很复杂?
4. 是否有迁移到其他数据库产品的可能,比如某个不支持触发器的数据库产品
5. 有没有足够的文档来说明每个触发器针对的业务逻辑是什么
最主要的就是要平衡一下,通常来说,在数据库端使用触发器性能是比较好的(MySQL的没有实际用过,但是至少省去了从数据库到应用服务器之间的数据传送的环节,应该是比应用代码快,从逻辑上讲)。但是我遇到过某些大型的应用,使用触发器,结果业务逻辑不停的变动,到最后维护组的弟兄们都搞不懂到底哪里会触发什么触发器了!这是一个很大的问题。另外,还有市面上找一个能写PL/SQL (那个项目用的Oracle数据库)的人成本可是比写Java的人高多了,嘿嘿。
有一种场景可以使用触发器来完成,比如数据变动日志,这个已经不是业务逻辑领域关注的东西了,所以可以使用触发器。