首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Server表定期更新MySQL表的最佳方法是什么?

从Server表定期更新MySQL表的最佳方法是什么?
EN

Stack Overflow用户
提问于 2022-08-08 12:08:32
回答 1查看 45关注 0票数 0

从Server表/视图插入和更新MySQL表的最佳方法是什么?

我构建的解决方案包括使用执行3项任务的SSIS包。

  1. 执行SQL任务-此任务为MySQL会话

启用ANSI_QUOTES

SET SESSION sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ANSI_QUOTES';

  1. 数据流任务--使用OLE DB Source ( Server视图)和ADO目标( MySQL表)。ADO净目的地上的黄色爆炸只是在插入数据时通知潜在的截断。

具有执行SQL任务的

  1. 序列容器-

SQL语句遵循以下结构:

代码语言:javascript
复制
UPDATE MySQLTable
SET
    KeyField = src.[KeyField],
    Field1 = src.[Field1],
    Field2 = src.[Field2],
    ...,
    Field85 = src.[Field85]
FROM OPENQUERY([MySQL Linked Server], 'SELECT * FROM MySQLDatabase.MySQLTable') AS MySQLTable
INNER JOIN SQLServerTable AS src ON MySQLTable.[KeyField] = src.[KeyField]

我遇到的问题是更新非常慢。使用MySQL工作台并查看性能仪表板,我只得到每秒3-5次更新。在确定缓慢更新的原因和/或从Server表更新MySQL表的最佳方法方面,我需要帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-08 12:41:54

如果源中的数据数量不多,则可以在暂存表(与源相同的结构,但在目标数据库或至少目标服务器中)中插入数据。您必须将更新替换为目标服务器中的简单更新查询。演出会比以前要好得多。

如果数据量太大,可以使用业务规则(如修改日期)过滤数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73277634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档