没有冗余数据的完全规范化的数据库在“学术上”是好的,但在现实世界中的表现却很糟糕。
第一个优化显然是缓存系统。在此之后,为了为性能创建冗余数据,您何时或为什么会(或不会)在调用脚本更新冗余数据的 cron 任务上使用触发器?
最佳答案
不是 MySQL 专家,但概念应该移植...
基本上,cron 作业是一个预定的作业(无论您希望它运行的频率如何),并且触发器是......好吧......被触发。通常,当您想要的任务是以下一项或两项时,您可以使用任何类型的计划(Cron、计划作业(在 MS Sql 世界中)等):
* 对时间不敏感
* 过程密集型。
对于任何时间敏感且非进程密集型的事情,您都可以使用触发器。
对于那些既对时间敏感又对过程密集的情况,您必须决定哪个更重要(或在某处的代码中处理 SQL 之外的处理)。
关于sql - 在什么情况下你会或不会使用数据库触发器而不是 cron 调用的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3372170/