今天去一家公司面试。
面试官问:用过触发器没有
回答:没用过
面试官:...
继续回答:之所以没用触发器,是因为对这个技术持慎重态度。
面试官:很多人都跟我说过类似的话
回答:我用MySQL比较多,官方虽然支持触发器,但是也提示这个技术有待完善。。
面试官:...
继续回答:触发器是在insert、update、delete操作之前或之后(before或after)执行某些操作。在我参与的项目中,多数都是高并发场景,如果使用了触发器,可能会导致数据库表资源竞争,进而导致阻塞甚至死锁。我不愿冒这样的风险。
面试官:你还知道before和after?
回答:我没在生产环境应用,但是我研究过。我的项目中多数都有账目相关的操作。在执行前,对一些参数进行合理性判断是必须的。如果使用触发器,在before时进行检查,从逻辑上是没问题的。但是评估用户可能并发相同请求的数量时,有刚才说的担心。因此放弃使用触发器,采用其他的方案解决。触发器我只是在一些后台功能上见到过一些应用,我认为后台的资源竞争会小一些,应用触发器有一定合理性。
面试官:没想到,没用过触发器,它的坑你跟踩过似的。
回答:看过资料,有一些说法我还是要研究它的原理在分析是否合理。没有一种技术适用于所有场景,多研究对知识的应用更合理。
原文:https://www.cnblogs.com/autumnearth/p/12885093.html