各种主流 SQLServer 迁移到 MySQL 工具对比
今天做ms sql到my sql的转换时,发现如下博文大受裨益,特此转发收藏一下,感谢原著作者的分享和奉献,原文如下: http://www.cnblogs.com/overblue/archive/2016/08/22/5796887.html
我之所以会写这篇对比文章,是因为公司新产品研发真实经历过这个痛苦过程(传统基于SQL Server开发的C/S产品转为MySQL云产品)。首次需要数据转换是测试环节,当时为了快速验证新研发云产品性能与结果准确性(算法类),所以需大量的原始数据,最快的办法就是使用老产品的真实数据。因为在前期数据转换时主用于内部验证,并没有花很多心思去处理这个事情,一般数据能导过去,不对的地方自己再手工处理一下就好了。后面对这个转换工具引起了极大的重视是正式有老客户升级时,因为正式投入使用就容不得半点错误(当时至少有几百家客户需要升级新产品),所以数据转移第一要求是百分百的准确率,其次是速度要快。现在回想起来,当时要有这么一篇对比文章,那我就不会浪费那么多时间在查找、对比、验证工具和数据维护修正上了,所以真心希望通过这篇对比文章能给大家提供一些参考或帮助!下面进入正题:
● SQLyog(https://www.webyog.com/product/sqlyog)
● Navicat Premium(https://www.navicat.com/products/navicat-premium)
● Mss2sql(http://www.convert-in.com/)
● DB2DB(http://www.szmesoft.com/DB2DB)
● 软件易用性
● 处理速度和内存占用
● 数据完整性
● 试用版限制
● 其它功能
SQLServer 服务器和 MySQL 服务器分别运行在两台独立的虚拟机系统中,而所有的待测试程序都运行在 MySQL 所在的服务器上面。其中:
● 操作系统:Windows XP
● 内 存:2GB
● 100MB 电信光纤
MySQL 服务配置:
● 操作系统:Windows XP
● 内 存:1GB
● 100MB 电信光纤
SQLyog 使用的是古老的 ODBC 连接,但对于新一代的程序来说,这种方式的非常的不熟悉并且不容易使用,并且必须要求本机安装好相应的数据库的 ODBC 驱动程序(SQL Server 一般自带好)。
Navicat Premium 是四个应用工具中设计最不人性化的一个:从上图怎么也想像不到要点按那个小按钮来添加一个新的连接,并且这个连接设置不会保存,每次导入时都必须重新设置。 Navicat Premium 使用的是比 ODBC 稍先进的 ADO 设置方式(199X年代的产物),但使用上依然是针对老一代的程序员。
Mss2sql 由于是很有针对性的从 SQLServer 迁移到 MySQL,因为界面使用了操作向导设计,使用非常容易。同时在设置的过程中,有非常多的选项进行细节调整,可以感觉到软件经过了相当长一段时间的使用渐渐完善出来的。
DB2DB 由于是由国人开发,因此无论是界面还是提示信息,都是全程汉字。另外,由于 DB2DB 在功能上很有针对性,因为界面设计一目了然和易使用。和 mss2sql 一样, DB2DB 提供了非常多的选项供用户进行选择和设置。
● 从 SQL Server 迁移到本地 MySQL 进行代码测试和修改;
● 从 SQL Server 迁移到云端 MySQL 数据库正式上线使用;
工具名称 | 迁移到本地耗时 | 迁移到云端耗时 | 最高CPU占用 | 内存占用 |
SQLyog | 2806秒 | 4438秒 | 08% | 20MB |
Navicat Premium | 598秒 | 3166秒 | 52% | 32MB |
Mss2sql | 726秒 | 1915秒 | 30% | 12MB |
DB2DB | 164秒 | 1282秒 | 34% | 40MB |
Navicat Premium 的处理速度属于中等,不算快也不算慢,但 CPU 占用还有内存占用都处于高位水平。不过以现在的电脑硬件水平来说,还是可以接受。但 CPU 占用率太高,将使得数据在导入的过程中,服务器不能用于其它用途。
Mss2sql 并没有提供计时器,因此我们使用人工计时的方法,整个过程处理完毕大于是 726 秒。Mss2sql 的 CPU 占用率相对其它工具来说较高,但仍属于可以接受的范围之内。
DB2DB 同样迁移 300万数据时,仅仅使用了 2 分 44 秒,这个速度相当惊人。不过最后的结果出现一个 BUG,就是提示了转换成功,但后面的进度条却没有走完(在后面的数据完整性评测中,我们验证了数据其实是已经全部处理完毕了)。
● SQLyog:完整支持 SQL Server 的默认值;
● Navicat Premium:完全不支持默认值,所有迁移后的数据表都没有默认值;
● Mss2sql:支持默认值但有严重错误;
● DB2DB:完整支持 SQL Server 的默认值。
测试项目 | SQLyog | Navicat Premium | Mss2sql | DB2DB |
表结构 | 支持 | 支持 | 支持 | 支持 |
字段长度 | 支持 | 部分支持(对Money等支持不好) | 支持 | 支持 |
数据 | 完整 | 完整 | 完整 | 完整 |
索引 | 支持 | 不支持 | 支持 | 支持 |
关键字 | 支持 | 不支持 | 支持 | 支持 |
默认值 | 支持 | 不支持 | 支持,但有严重错误 | 支持 |
二进制数据 | 支持 | 支持 | 支持 | 支持 |
工具名 | 价格 | 试用限制 | 其它功能 | 备注 |
SQyog | $199 | 30天试用,并且只允许转换两张数据表 | 无 | |
Navicat Premium | $799 | 无 | ||
Mss2sql | $49 | 每张数据表只允许有50秒处理时间 | 支持导出为 SQL | |
DB2DB | ¥199 | 10万记录限制 | 支持导出为 SQL |
工具名 | 处理速度 | 数据完整性 | 价格 | 推荐度 |
SQLyog | ★☆☆☆☆ | ★★★★★ | ★★☆☆☆ | ★★☆☆☆ |
Navicat Premium | ★★★☆☆ | ★☆☆☆☆ | ★☆☆☆☆ | ★☆☆☆☆ |
Mss2sql | ★★☆☆☆ | ★★★☆☆ | ★★★★☆ | ★★★☆☆ |
DB2DB | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ |
转载于:https://www.cnblogs.com/qxfan/p/6054609.html
各种主流 SQLServer 迁移到 MySQL 工具对比相关推荐
- sqlserver迁移数据到mysql_SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql
本文主要向大家介绍了SQLServer数据库之将ABP的数据库从SQLSERVER迁移到MySql,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 安装MySql.Data ...
- sqlserver迁移到mysql遇到的那些坑
背景 由于各种原因,成本啊.扩展性等,公司决定把线上的业务从sql server迁移到mysql RDS. 迁移过程主要包括了程序修改和数据库的迁移.程序修改我们略过不谈,我们重点关注数据库迁移. 大 ...
- oracle迁移到mysql工具_oracle数据库想迁移到mysql上 有什么方法或者工具吗
Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等 Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量.增量 ...
- sql用户名数据迁移到mysql_如何将SQL Server数据迁移到MySQL
展开全部 以下有几款迁移工具的对比,可32313133353236313431303231363533e59b9ee7ad9431333433643734以参考,比较推荐DB2DB. 软件易用性主要是 ...
- sql server 迁移 mysql_sql server 迁移到 mysql
sqlserver迁移到mysql 在数据库方面的工作主要是表的迁移,以及存储过程的迁移,这里主要做的是表的迁移. 首先先将MSSQL Server表结构导出为.sql文件. 表迁移,mysql一律 ...
- ssh项目同时使用mysql跟sqlserver数据库_MSSQL_如何把sqlserver数据迁移到mysql数据库及需要注意事项,在项目开发中,有时由于项目 - phpStudy...
如何把sqlserver数据迁移到mysql数据库及需要注意事项 在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Serve ...
- Mysql ---Sqlserver数据迁移到Mysql(Mysql建表迁移数据)
1 试用了MysqlWorkBench的数据迁移功能 以为能实现:建立跟Sqlserver一样的表结构和视图的功能,sqlserver的数据迁移到mysql 实际上发现:即使勾选了表和视图,实际上却只 ...
- MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具
将现有的MSSQL数据库迁移到MySQL数据库,尝试了很多种工具 MySQL Workbench / MSSQL to MySQL Export / DB Converter / openDBcopy ...
- 水晶报表中对某一栏位值进行处理_从主流报表工具的报价看报表行业的报价水深-----常用报表工具对比---主流报表价格对比...
由于报价对于一些价格较高而且不透明的厂商来说属于商业机密,所以我们就不贴图了,只贴了一些价格是公开透明的厂商的报价 拿到其他报价的,自己根据下文对比一下就能明白 目前市场上最主流的报表工具就那么几个, ...
最新文章
- 社区企业云操作系统 (不错的开源虚拟化系统,期待中)
- python监控进程并实现掉线重启
- Java编码规范 Code Conventions for the Java
- Android开发之EditText编辑框光标位置
- PHP递归实现无限极分类
- vue router传参_新手使用vue-router传参时注意事项
- 《Hadoop与大数据挖掘》——2.6 TF-IDF算法原理及Hadoop MapReduce实现
- android volley 请求参数,android – Volley – 如何发送DELETE请求参数?
- Tortoiser三十集脱壳教程__ZC
- 电子与电工技术实验——集成运算放大器的应用
- SQL Server evaluation period has expired
- 超级计算机在结构力学领域的应用,计算结构力学
- toLatin1 toLocal8Bit
- 前端——》H5页面开屏分离特效
- 微信小程序接入知晓云插件sdk入门
- 利用Matlab解决线性规划问题并绘制特定形状的空间曲面(约束区域的绘图)
- 用Python 编写Logistics算法
- 工作11年,35岁,裸辞: 感到前途很迷茫,如何破?
- C++ 变量的生存期
- Map对象 map.get(key)
热门文章
- 转: object 和embed 标签播放flash
- 数据访问层之数据库访问设计(转)
- java jni调用dll文件_Java通过jni调用动态链接库
- python sched_python事件调度库sched
- python好难找工作_Python 太难找工作了
- 多线程编程有什么用途_C++ 多线程编程 (一)
- ab plc编程软件_三菱PLC原装和高仿怎么区分?PLC仿真软件和编程软件一样吗?
- Java游戏服务器系列之Netty详解
- 网闸与防火墙的区别是什么
- 夏天到了用TypeScript给自己开个小空调吧