首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从mssql迁移到mysql问题

将数据从mssql迁移到mysql问题
EN

Stack Overflow用户
提问于 2013-12-04 14:09:55
回答 1查看 1.6K关注 0票数 2

嗨,我正在尝试使用mysql工作台将mssql数据库迁移到mysql数据库。

这里的问题是,当我迁移mysql工作台在最后一步冻结的数据时--即数据大容量传输--我搜索了web,一些答案是,如果您在64位win 7上使用mysql工作台,这个操作总是会被冻结,对吗?我应该安装win 32吗?(当我想迁移mssql数据库中的所有东西时,就会发生这种情况)。

第二个问题是,我强制迁移了几个表,但没有迁移任何过程或触发器,而且mssql中的简单查询在mysql 20秒上占用相同的表,我知道问题在索引上,但是当我将表索引到特定列时,如果我在该列上选择where,则查询工作良好,但索引列上的select和out仍然非常慢。

例子:

从用户中选择*;

以mssql 1秒为单位

在mysql 20秒内

在user_type上索引后

从user_type =2的用户中选择*;

这以mssql 0.7秒为单位

在mysql中,0.5秒

但当我重新开始使用

从用户中选择*;

这以mssql 0.9秒为单位

在mysql 18秒内

这里有什么想法吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-11 23:06:40

因此,经过许多托盘后,我找到了解决办法,即:

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

但是,当您指定要使用MyISAM作为默认引擎时,select查询将在不执行上述操作的情况下非常快,如果完成了上述操作,它将使查询速度更快。

但是,对于读取行来说,这是很有用的,因为MyISAM对于读取行非常好,但是对于写行,InnoDB将是boss,当然,如果需要读/写,InnoDB也将是boss,但是在重新创建上面的内容之后。

因此,对于我的情况,我只是在每个表create语句之后添加了ENGINE=MyISAM,当我执行任何查询时,即使是获取200 k行,我也要花费将近2秒的时间才能得到结果。

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

https://stackoverflow.com/questions/20377569

复制
相关文章

相似问题

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