首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大型数据库中的数据交换

问大型数据库中的数据交换
EN

Stack Overflow用户
提问于 2016-03-19 16:32:04
回答 1查看 234关注 0票数 0

我有28亿张桌子上的记录。该表使用在mysql安装上运行的INFOBRIGHT引擎。我有一些不正确的条目在表中,并希望得到纠正。

表测试有350个奇数列。我希望将数据从列P1交换到列P3,以获取一些记录(不是所有记录)。我计划使用的迁移数据的方法如下

  1. 使用将表测试中的数据提取到CSV文件中,使之成为mysql的功能
  2. 从表中删除不需要的记录。
  3. 使用P1=P3) LOAD data INFILE导入CSV数据,并使用 SET 子句将数据从P1移到P3 ( P1的空字符串并设置P1)

这种方法似乎很有意义,直到我意识到INFOBRIGHT不像提到的这里那样支持SET子句

摘录自以下链接

在标准的MySQL下载中找到的MySQL加载器支持SET结构,但Infobright加载程序不支持它。我能够使用SET语句实际执行一个load;有趣的是它将运行,但Infobright忽略了它。

问题

  1. 有更简单的方法吗?
  2. 当然,我可以编辑CSV文件。但对于28亿的记录,我希望有一个肯定的方法去做。任何经过测试的脚本都很感激。
  3. 我不想使用mysql加载器并将数据加载到MYISAM表中,因为所涉及的数据非常庞大。有更快的方法吗?
EN

回答 1

Stack Overflow用户

发布于 2016-04-08 15:06:29

Infobright在从文件导入时不允许SET,但是您可以选择mysql加载程序来加载文件。默认情况下,infobright使用它自己的加载程序,但是您可以选择mysql加载程序来加载文件,然后可以使用SET。

您可以使用: set @bh_dataformat =‘mysql’设置mysql加载程序;

我不知道mysql加载程序会比IB加载程序慢多少。我已经加载了~60 60的文件,有~60列在1.5小时内。

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

https://stackoverflow.com/questions/36104230

复制
相关文章

相似问题

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