2012-01-17 88 views
0

简而言之,在MySQL中使用触发器有哪些优缺点?然而,我从来没有在MySQL中使用触发器和存储过程,所以我习惯于解决任何我使用PHP进行业务逻辑和SQL的CRUD任务。 现在我有一个任务来保存表的历史记录,并考虑为此使用触发器。所以,子问题是:触发器是否适合这个特定的任务?MySQL触发利弊

+0

你有没有想过关于使用数据库日志文件来协议数据库内的更改? – dgw 2012-01-17 04:03:00

+0

nope。如何实现我需要的与触发器或业务逻辑的PHP相比更简单? – Nemoden 2012-01-17 05:40:07

回答

4

简而言之:(赞成/触发器的利弊VS实现代码的功能,如PHP)

优点:容易落实审计/历史

缺点:难以调试问题

+0

这就是为什么我不使用存储过程的原因 - 我尝试了解这一点,但这不是一个非常愉快的过程。如果我需要修改代码,我必须删除该程序并重新编译(我想认为有这样做的更好方法)。而且很难调试(有没有比编写代码更好的方法,编译,如果它不起作用,你修复它并重新编译?)。 – Nemoden 2012-01-17 03:39:48

+0

P.S.没有'更改触发器',是吧? http://lists.mysql.com/mysql/187387为什么MySQL在业务逻辑上非常糟糕? (这是修辞问题:)) – Nemoden 2012-01-17 06:28:28

+0

@Nemoden - 我通常不会在存储过程中放置​​任何业务逻辑,我只用它们来访问数据或插入/更新它。我保留代码中的所有业务逻辑。 – Andrey 2012-01-18 15:19:52