mysql - MySQL 过程/事件未完成执行。花了大约30分钟
问题描述
所以我们有一个数据库服务器(MySQL),它有 40 个数据库(20 个数据库 As 和 20 个数据库 B)。As 被命名为 db_a_01、db_a_02.. 等等(Bs 是 db_b_01.. 等等)。As 具有相同的结构,Bs 也具有相同的结构,但 As 和 Bs 具有不同的结构。
现在,As 有一个procedure
(TransferItemsData()),它selects
从一个表中处理数据,然后inserts
将处理后的数据发送到它们各自的 B 数据库表(db_a_08 到 db_b_08)。All 还有一个event
(ScheduleTransfer) 调用procedure
TransferItemsData() 并设置为在晚上 11:30 执行。
所以设置了 20 个数据库在晚上 11:30 同时传输数据。今早查看logs表,发现只有200k以下的数据库才能完成传输,最长需要29分钟。那些有超过 200k 行要传输的数据库无法传输所有项目。他们也没有记录 date_completed,所以我确定程序或事件都已停止。
是否有执行时间限制procedures
?events
他们似乎在大约 30 分钟后停止了。或者他们在上午 12 点停止了?转移于晚上 11:30 开始。为什么procedures
/events
停止了?
解决方案
推荐阅读
- jquery - 带有 flexslider 和 elevatezoom 的动画错误
- android - 如何从firebase数据库中具有多个子节点的多个节点检索数据
- html - CSS - 如何使在我的输入中输入的文本开始显示在框的左上角?
- javascript - 如何使用javascript反转xml的顺序
- dropbox-api - 将 Dropbox 文件路径正确转换为小写
- xml - 使用 xpath 从 xml 中提取值
- c# - Html Agility Pack Xpath 不工作
- azure-iot-sdk - Azure 中的 Iothub 模块身份验证错误
- graph - Neo4j 在已经映射到关系的节点之间创建关系
- python - 安装 virtualenv 失败,因为下载的是 HTML 而不是 tar.gz