工作中,看到很多文章都是告诫开发者,逻辑控制最好都放到应用层,而且很少看到触发器,函数,存储过程的实际应用,一般都是直接 insert update delete select
这 3 条理由应该都很常见
1.应用了存储过程,函数,等执行效率会下级很多。导致很多人不敢轻易使用上述功能
2.增加开发难度,不但需要维护应用程序代码,还得维护 mysql 的相关代码
3.数据库的计算资源非常宝贵,能在应用层完成 就放在应用层。
然而既然数据库有相关的功能,为什么不利用起来呢?
1.解放双手,少写很多代码。
2.都是代码,理解了代码的功能,一样一样的维护。
3.貌似无法反驳,在极端的情况,少一个资源竞争,多一份稳定。但是应用端的资源也是资源,利用的好应用端资源也给节省了
触发器,函数,存储过程 我们都应用到了
触发器的例子 1:
https://wuhao.pw/archives/268/
1.效率。编辑一条数据,这个效率上损失,无伤大雅
2.写好了,几乎不要动了
3.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.