从Server表/视图插入和更新MySQL表的最佳方法是什么?
我构建的解决方案包括使用执行3项任务的SSIS包。

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

具有执行SQL任务的
SQL语句遵循以下结构:
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表的最佳方法方面,我需要帮助。
发布于 2022-08-08 12:41:54
如果源中的数据数量不多,则可以在暂存表(与源相同的结构,但在目标数据库或至少目标服务器中)中插入数据。您必须将更新替换为目标服务器中的简单更新查询。演出会比以前要好得多。
如果数据量太大,可以使用业务规则(如修改日期)过滤数据。
https://stackoverflow.com/questions/73277634
复制相似问题