首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高效地将csv文件加载到MySQL表中

高效地将csv文件加载到MySQL表中
EN

Stack Overflow用户
提问于 2012-06-05 06:56:16
回答 1查看 697关注 0票数 2

我当前加载文件的方式是:

代码语言:javascript
运行
复制
   load data local infile 'file_name' into table tableA  
fields terminated by ',' enclosed by '"' lines terminated by '\n';

是在unix计算机中装载表的最佳方式。它是否创建了最优的表大小?我想要一张占用空间最小的桌子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-05 07:02:55

MyISAM

如果该表为MyISAM,则应执行以下操作:

代码语言:javascript
运行
复制
set bulk_insert_buffer_size = 1024 * 1024 * 256;
alter table tableA disable keys;
load data local infile 'file_name' into table tableA  
fields terminated by ',' enclosed by '"' lines terminated by '\n';
alter table tableA enable keys;

InnoDB

如果该表为InnoDB,则应执行以下操作:

代码语言:javascript
运行
复制
set bulk_insert_buffer_size = 1024 * 1024 * 256;
load data local infile 'file_name' into table tableA  
fields terminated by ',' enclosed by '"' lines terminated by '\n';

这不仅会占用最少的空间(加载一个空表),而且还会根据在内存中以树状结构缓冲行,以便在重新加载期间更快地缓存数据。

如果您担心ibdata1爆炸,则需要将所有InnoDB表转换为使用。请使用我的InnoDB清理步骤:Howto: Clean a mysql InnoDB storage engine?

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

https://stackoverflow.com/questions/10889525

复制
相关文章

相似问题

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