我有一个PHP Web应用程序,当插入表格时,我写了一个触发器来计算一些分数,这需要时间。我的PHP应用程序等待触发器完成。 此触发器是否可以在单独的线程中运行,以便我的应用程序不会等待触发器的完成?
答案 0 :(得分:4)
没有。
但正如比尔克林顿所说,"我会告诉你原因。"
触发器的一大优势是触发器的操作包含在触发触发器的原始语句的事务中。这是关系思维的好事,因为我们喜欢ACID合规。
现在,如果您不需要ACID合规性,并且触发的操作可以生效,最终",然后移除触发器并执行“操作”。表。然后,触发器可以将某些内容放入actions表中,或者您的PHP代码可能会执行此操作。您可以让一个工作查询此表一次/秒左右,如果找到任何内容,则执行它。不要担心守护进程的性能,对表通常为空的一次/二次查询都不算什么。