gpt4 book ai didi

mysql - mssql迁移数据到mysql问题

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:13 26 4
gpt4 key购买 nike

您好,我正在尝试使用 mysql workbench 将 mssql 数据库迁移到 mysql 数据库

这里的问题是当我迁移数据时,mysql workbench 在最后一步卡住了这是数据批量传输 我在网上搜索了一些答案,如果您在 64 位 win 7 上使用 mysql workbench,此操作将始终卡住,对吗?我应该安装 win 32 吗? (当我想迁移 mssql 数据库中的所有内容时,就会发生这种情况)。

第二个问题是,我设法迁移了几个表,但没有迁移任何过程或触发器,最重要的是,mssql 中的一个简单查询需要 0.2 秒,而在 mysql 上的同一个表上需要 20 秒,我知道问题出在索引但是当我将表索引到某些如果我确实选择了该列上的位置,则查询工作正常,除了索引列上的选择仍然非常非常慢。

示例:

从用户中选择*;

这在 mssql 中 1 秒

在 mysql 中 20 秒

在 user_type 索引之后

select * from users where user_type = 2;

这在 mssql 0.7 秒

在 mysql 中 0.5 秒

但当我回来使用

从用户中选择*;

这在 mssql 0.9 秒

在 mysql 中 18 秒

这里有什么想法吗?

谢谢。

最佳答案

所以在许多托盘之后我找到了解决方案:

当数据从 mssql 迁移到 mysql 时,mysql 假定您要使用 InnoDB 作为默认引擎,并且当您进行迁移时,您将丢失索引、例程和过程,因此当您在 InnoDB 上运行数据时在您重新创建新的索引、例程和过程之前,它会非常慢。

但是当您指定要使用 MyISAM 作为默认引擎时,如果不执行上述操作,选择查询将非常快,如果执行上述操作,它将使查询更快。

但这适用于读取行,因为 MyISAM 非常适合读取行,但对于写入 InnoDB 将是老板,当然如果需要读/写,InnoDB 也将是老板,但在重新创建上述内容之后。

所以对于我的情况,我只是在每个表创建语句之后添加了 ENGINE=MyISAM,当我执行任何查询时,即使我正在获取 20 万行,我也花了将近 2 秒的时间来获得结果。

关于mysql - mssql迁移数据到mysql问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20377569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com