在MySQL中,同一事件可能会重叠



我想知道它是否可能在MySQL上进行同一事件重叠其执行:

eg:我有计划每2秒执行一次:

BEGIN   
 DELETE FROM RouteDatabase3.route_fast WHERE TIMESTAMPDIFF(minute, updated_at, now()) > 5; 
END

如果此事件需要10秒,会发生什么?MySQL Server将执行相同的事件与最后一个事件重叠?

可以锁定事件执行,因此MySQL只能在时间执行一个?

我能够使用mySQL的get_lock and repartion_lock函数找到解决方案,

BEGIN   
 IF GET_LOCK('lock', 5) THEN
  DELETE FROM RouteDatabase3.route_fast WHERE TIMESTAMPDIFF(minute, updated_at, now()) > 5; 
  SELECT RELEASE_LOCK('lock');
  END IF;
END

相关内容

  • 没有找到相关文章

最新更新