最佳实践:将数百万条目转移到另一个MySQL数据库

时间:2012-02-13 03:55:00

标签: mysql database data-transfer

我分配了以下任务:

获取一个包含多个表和数十万个条目的当前数据库,并编写一个脚本,将大部分数据传输到具有不同结构的单独数据库。

基本上已经创建了一个具有不同表结构的新数据库,我需要(在确认所有数据类型都匹配之后)编写脚本以将数据复制到正确的表/列。

最终我想知道如此大规模的数据传输是否有人可以提供的最佳实践,首选语言或提示/提示?

1 个答案:

答案 0 :(得分:1)

首先,我认为最重要的一点是,您应该不惜一切代价避免编写任何将数据从生产服务器转移到另一个服务器的脚本。单独使用实时数据进行迁移的潜在危险应该是充分的理由。

那就是说,我可以建议一些我认为可能对这项任务有益的做法。

  1. 从生产服务器获取所有数据并将其转储到完全独立的devbox。消除原始数据的风险以及对服务器的性能影响。
  2. 在严格开发工具上,我建议尽可能保持所有数据从SQL迁移到SQL,而不是用某种中间语言编写脚本。当然,你的新结构可能完全禁止这种方法,但一般来说,不得不担心将数据从严格的,可靠的数据类型转移到另一种语言(例如,无类型的PHP或类型严格的.net)回到数据库正在添加许多步骤,这些步骤会使您的任务变得复杂,增加计算时间,并且可能会造成损失。
  3. 花费尽可能多的时间来验证新设计架构的智能,因为您有时间和权力这样做。除非你的双手被束缚,否则试着想象一下这些变化是否 - 事实上 - 改进,并且不可避免的查询重写会提高效率和可读性。
  4. 我确信还有许多其他事情需要注意,但我希望这些内容对于帮助您从一个架构转移到另一个架构非常有帮助。如果本地的服务器是合理的,然后导入,请不要让自己陷入困境。保持简单!