用Blob字段加载数据infile
问题描述:
鉴于我必须在短时间内转储大量插入,设法将所有记录转储到文件,然后通过加载数据infile mysql的句子加载它们。这工作正常,但现在我压缩更多的值到blob字段,以减少插入。问题是,我不能找到一种方法将Blob字段转储到文件中,以便在加载数据时插入正确的值。我尝试过不同的方式,但没有快乐的结局,并希望避免逐个插入。用Blob字段加载数据infile
有没有人知道如何正确地做到这一点?
答
将blob数据的HEX()字符串存储在文件中。
对于你的SQL,使用SET子句,例如,
LOAD DATA INFILE 'path.txt' INTO TABLE MYTABLE (列1,列2,@ hexColumn3) SET栏3 = UNHEX(@ hexColumn3);
+0
它的工作原理!非常感谢:D – 9nix00 2011-08-22 05:29:48
如何使blob成为一个csv类型的实体,在字段和字段之间用逗号和引号括起来。这可以工作吗? – 2011-03-17 20:36:34
现在我想起了它,你怎么能比从正常的文本文件加载数据infile更快?我相信,即使您将所有数据都集成到一个blob中,也必须在服务器上执行相同数量的插入(更新更新)。 – 2011-03-17 20:44:28
我试过了,但没有正确插入blob字段。使用* load data infile插入行*它应该比一个一个地执行更高效。目前我正在使用插入像“INSERT INTO _TABLE_ VALUES(),(),(),..”,这比单独插入每一个更好。 – Pabloks 2011-03-17 21:59:02