我有一个在MySQL数据库上创建临时用户的用例,然后在24小时后删除它们。我将完成足够多的工作,以便自动化流程并将其打包到用户创建脚本中,这样我就不必跟踪流程。
我在互联网上查看过关于MySQL事件日程安排的文档、问题和流言,但我没有发现任何令人沮丧的事情。我看到了关于“成本”MySQL调度事件的另一个问题,但讨论主要涉及使用cron调度DB任务与使用MySQL事件调度之间的比较。
我正在运行Amazon,所以cron不会为我工作。MySQL事件调度看起来是正确的解决方案。我正在调度一个非常轻量级的事件--在创建24小时后,每次只有一个用户--但是我必须让MySQL的事件调度器24/7启用。这有什么性能成本吗?如果没有,为什么默认情况下不启用事件调度程序?
发布于 2016-06-15 13:04:19
与调度程序运行的SQL的成本相比,调度程序的成本无关紧要。“https://books.google.com/books?id=JXFuCQAAQBAJ&pg=PA288&lpg=PA288&dq=mysql+event+scheduler+overhead&source=bl&ots=8oVd2-yEbn&sig=OSd2lLyFcJA8XKmCAFJS2HRqMaw&hl=en&sa=X&ved=0ahUKEwjqraLUiqrNAhXD2SYKHR6zBacQ6AEIMzAD#v=onepage&q=mysql%20event%20scheduler%20overhead&f=false”一书讨论了以下内容:
事件由单独的事件调度程序线程发起,因为它们与连接无关。他们不接受输入,也不返回值与应用于存储过程的考虑类似,也适用于事件。首先,您要给服务器额外的工作。事件开销本身是最小的,但是它调用的SQL可能会对性能产生潜在的严重影响。
我怀疑,在早期版本中,有人担心在默认情况下启用事件会有一个意外的对基于语句的复制的影响,高性能MySQL也讨论了这个问题:
事件可能导致与其他存储代码相同的基于语句复制的问题类型。
最终,与任何数据库问题一样,您必须在模式中实现解决方案并度量其效果,因为没有两个实例是相同的,也没有任何解决方案是通用的。
https://stackoverflow.com/questions/37835714
复制相似问题