Mysql触发性能vs php手动插入

 271216608_5d6eab 发布于 2023-02-07 09:38

我想在插入某些表后创建通知.例如,每当用户插入注释时,我都会为管理员创建一个通知,告知该用户已创建注释.

我以前在PHP中手动执行它,它没有那么糟糕,它是这样的:

// after the comment is created
Notification::create(....);

不错,但有时候我会让用户能够添加图片,帖子,等等.所以我必须记住每次插入通知.

所以我正在考虑使用mysql触发器.但我担心这会影响性能?

最后一件事,是否可以在插入多个表后创建触发器?

谢谢,

1 个回答
  • 插入多个表后是否可以创建触发器?

    不,这是不可能的.您必须为每个表创建单独的触发器.

    我担心这会影响性能吗?

    性能方面它不应该是一个灾难,虽然通过引入触发你人为地延长你的表(插入/更新操作images,posts......),有效地增加了锁定时间.

    但性能不是唯一要考虑的因素.可维护性也应该是重要的.通过创建触发器,可以在应用程序和数据库之间分散应用程序逻辑.测试起来比较困难.例如,当您传输模式或生成转储时,通常会忘记触发器.有时您不希望它们在您对表执行某些维护DML时触发.但MySQL缺乏这种能力.你必须使用变通方法.

    底线:除非必须,否则请考虑不要使用触发器.

    2023-02-07 09:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有