我用的是MySQL。
我得到了一个mysql转储文件 (large_data.sql),我可以创建一个数据库并将数据从这个转储文件加载到创建的数据库中。这事没问题。
现在,我觉得转储文件中的数据太大了,(例如,它在一个表中包含300000行/对象,其他表也包含大量数据)。
因此,我决定再做一个转储(基于大容量转储),它可以包含一个小数据(例如,表中的30行/对象)。
只有这么大的转储文件,如何正确有效地切断转储中的数据,并创建一个包含少量数据的新转储文件?
(使用文本工具打开大型转储并不好,因为转储非常大,从文本工具打开转储需要很长时间)
发布于 2011-11-02 09:59:51
如果只想处理文本转储文件,可以使用一些文本工具(如awk
或sed
,或者可能是perl
、python
或ocaml
脚本)来处理它们。
但是,也许您的大型数据库已经从大转储文件中加载,并且您希望使用MySQL增量备份。
发布于 2011-11-02 10:16:27
我推荐免费的文件拆分器:http://www.filesplitter.org/。
唯一的问题是:它将一个查询分成两部分。你需要手动编辑后的文件,但,它的工作像一个魅力。
例子:
我的档案是:
BlaBloBluBlw
BlaBloBluBlw
BlaBloBluBlw
结果是:文件1:
BlaBloBluBlw
BlaBloBl
档案2:
uBlw
BlaBloBluBlw
所以,你需要编辑所有的东西,但它的工作就像一个魅力和非常快。今天用在九千五百万行表上。
但是!!最好的理由:与你试图导入或等待它的时间相比,你做这件事的时间是很短的。这是快速和有效的,即使您需要编辑文件手动,因为您需要重建最后和第一个查询。
https://stackoverflow.com/questions/7978425
复制相似问题