用perl做数据库迁移,从MSSQL到MYSQL(四)总结

历经三天,终于把这项目搞定了,做下总结吧,以史为鉴。

在确定用Perl来做这件事的时候,公司一老鸟看到了,对我说:“你为什么不用c#来写?第一:你熟练,不用去现查语法神马的;第二:你这不是从21世纪,直接回到原始社会了吗?没有语法智联,全用记事本,这不是有病吗?”我当时笑笑,没太在意,因为我之前在选的时候,就想过C#,但它最大的缺点是,我不能在服务器上边一直跑起,因为服务器是LINUX操作系统,而且最重要的是想给自己一个挑战,为以后在LINUX上做系统管理打一下基础(哎!小弟就真不是一个安份的人。)。

但后来在用Perl的时候,语法真不是问题,因为它和我们的自然语言很相似,而且用到最后,我发现它的简洁真很让人惊奇(当然,这个东西,谁用谁知道)。最大的问题在做数据迁移的时候,遇到了perl垃圾回收上的问题,第一次调试的时候,一张表还好,哪怕一次2000条,都能执行个两三次,很快就过了,但后来,第二次调试,我把数据量变小,每张表只导20条数据,结果导一两张表,就会报“Out of memory!”这真把我整得个。。。哎!

不过后来还好,发现竟然是SQL SERVER建表的时候,nvarchar全用MAX~~~

最后,经测试,此方案基本能导90%左右的表,仍有10%左右的表不能实现自动迁移,问题不详,反正就是导不了数据。

再最后,此乃小弟之愚见,如有不正确的地方,欢迎拍砖。。。

原文地址:https://www.cnblogs.com/davyfamer/p/2532346.html