使用MySQL触发器的优点/缺点

时间:2016-07-02 16:10:48

标签: mysql stored-procedures database-design triggers mysql-routines

使用MySQL触发器保持数据在一个表与另一个表之间同步,甚至在数据更改时更新聚合/​​报表表有哪些优点/缺点?

通过聚合/报告表,我指的是汇总其他表中存在的数据的表,例如:

Houses

当数据在tbl_user_location: 1 Mike New York 2 John London 3 Emily Paris 4 Jack New York tbl_summary: New York 2 London 1 Paris 1 中实时更改时,摘要会更新。

这种方法有哪些替代方案?

1 个答案:

答案 0 :(得分:3)

优势:SQL触发器提供了另一种运行计划任务的方法。在对表中的数据进行更改之前或之后,会自动调用触发器。

缺点:但是,从客户端应用程序中无形地调用和执行SQL触发器,因此很难弄清楚数据库层中发生了什么。这可能会增加数据库服务器的开销。

如果你在谈论高速数据,甚至不考虑触发器。我建议你选择流处理技术。您可以使用mysql bin-logs捕获事件并添加到流中然后进行处理。对于实时数据聚合,简单触发不是一个好主意。

尝试下面的内容,您可能需要对这些内容进行一些搜索 例如:(mysql binlogs)maxwell-> kafka-> spark(已处理数据)