2010-09-14 103 views
-1

我有一个MySQL数据库中有45百万的表,我想以.csv格式导出这些数据,在不影响其他表的现有性能的情况下做什么是最好的方法(当此操作是执行)?从表中导出数据

谢谢。

+0

在服务器故障时可以更好地问,但当然主要的性能增益是在复制的备份服务器上执行,而不是在“活动”上执行。 – Wrikken 2010-09-14 17:07:15

+0

如果您点击右键并开始导出,则需要花费很多时间,我们是否可以采取其他方法。单次尝试出口4500万美元并不是一个好方法。 – Sharpeye500 2010-09-14 17:08:49

回答

1

确定我计算出来,

导出 - >选择* INTO OUTFILE 'C:/tmp/outfile.txt' 从表名由终止 '' 字段;

要导入

LOAD DATA LOCAL INFILE 'C:/tmp/outfile.txt' INTO TABLE newtablename 场TERMINATED BY '' LINES TERMINATED BY '\ n';

0
select * from table_name into outfile '/tmp/output_file.csv'; 

但是,您可能会遇到问题“无法创建/写入文件”,那么您可以执行以下代码。

USE mysql; 
UPDATE user SET File_priv = 'Y' WHERE User = 'db_user'; 
FLUSH PRIVILEGES; 

然后,您可以导出表。