Django 代码或 MySQL 触发器
我正在使用 Django 制作一个使用 MySQL 数据库的 Web 服务。客户端通过 URL 与我们的数据库交互,由 Django 处理。现在我正在尝试创建一种行为,每当修改某个表时自动执行一些检查/日志记录,这自然意味着 MySQL 触发器。不过,我也可以在 Django 中执行表修改的请求处理程序中执行此操作。我认为 Django 还没有触发器支持,所以我不确定通过 Django 代码还是 MySQL 触发器哪个更好。
任何了解这些选项性能的人都愿意透露一些信息吗?提前致谢!
I'm making a web service with Django that uses MySQL database. Clients interface with our database through URLs, handled by Django. Right now I'm trying to create a behavior that automatically does some checking/logging whenever a certain table is modified, which naturally means MySQL triggers. However I can also do this in Django, in the request handler that does the table modification. I don't think Django has trigger support yet, so I'm not sure which is better, doing through Django code or MySQL trigger.
Anybody with knowledge on the performance of these options care to shed some light? Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有很多方法可以解决您所描述的问题:
就我个人而言,我更喜欢使用重写 save() 方法或使用 Django 信号。使用特定于视图的逻辑可能会让您在具有同一模型的多个视图的大型应用程序中陷入困境。
There are a lot of ways to solve the problem you've described:
Personally, I prefer using either overriding the save() method, or using a Django signal. Using view-specific logic can catch you out on large applications with multiple views of the same model(s).
您所描述的内容对我来说听起来像是“更改数据捕获”。
我认为权衡可能是这样的:
这可能会有所帮助。
What you're describing sounds like "change data capture" to me.
I think the trade-offs might go like this:
This might be helpful.