在MySQL数据库之间迁移和处理数据的更快方法

时间:2015-05-11 19:56:25

标签: mysql data-migration

我正在尝试规范化架构。我在CMS中使用了一个MySQL数据库,数据模式非常有问题。例如,为了获取实体的所有属性和子属性,我必须查询几个表并进行一些后DB处理。有一些子属性存储在一个字段中的JSON字符串中,当您解析该JSON时,它会将外键ID提供给DB中的另一个表。与数据库交谈,然后处理内容,然后再与DB交谈,这有点混乱。

我正在尝试创建一个可以在cron计划上运行的脚本,该计划将从现有系统获取数据,对其进行处理,并将其放入具有规范化架构的不同数据库中。

我最初创建了一个PHP脚本来执行此操作,但对于仅包含350个产品(100k)的一个类别(大约800个),脚本大约需要5分钟才能完成。我需要更快的东西。我的脚本使用ADODB library与mysql进行交互。

以下是一些选项(因为格式是问题/答案),我很好奇其中一个可能在性能方面呈指数级增长:

  • 原始PHP(无库)
  • PHP Phalcon
  • perl的
  • Node.js的
  • 别的......

1 个答案:

答案 0 :(得分:1)

我想你可能想写一些"翻译" mysql本身的程序,用于处理旧数据并直接生成新条目。它可以比其他解决方案更快。

如果查询性能不是问题,您可以根据当前架构创建一些视图(过程,函数),并使您的进一步编程更容易。一些物化视图实际上可以帮助提高性能。

如果你必须"转换" MySQL之外的一个巨大的数据库,你可以编写你的"结果"首先是磁盘文件(text或sql),并在所有"数据"之后将它们导入MySQL。变了。

相关问题