3

使用 SQL Server Management Studio 将表的全部内容从 SQL Server 复制到 MySQL 计算机上的相同表中。MySQL db 使用 MySQL ODBC 5.1 驱动程序作为链接服务器连接到 Management Studio。使用简单的语句可以正常工作,但执行速度极慢。

INSERT INTO openquery(MYSQL, 'select * from Table1')
SELECT * from MSSQL..Table2

我有一张包含大约 450,000 条记录的表,传输只需 5 个多小时。这是正常的吗?我之前没有链接 MySQL 服务器的经验。

4

1 回答 1

4

如果从管理工作室运行“SELECT * from MSSQL..Table2”需要多长时间?

查询速度慢的原因有多种:

  • 每当您进行大量批量复制时,您通常不会一次性完成所有操作,因为大型插入/更新/删除事务非常昂贵,因为数据库必须随时准备回滚,直到事务完成. 最好分批复制(比如一次 1000 条记录)。执行此批量复制的一个好工具是 SSIS(SQL Server 附带),它可以为您执行此批处理。

  • 您应该明确指定要从中复制的表的排序顺序,尤其是当您要复制到将具有聚集索引的表中时。您应该确保按照聚集索引的排序顺序插入(即聚集索引通常是 int/bigint,因此请确保记录按 1、2、3、4 而不是 100、5、27、3 等顺序插入。 )

于 2011-05-08T23:01:12.177 回答