MySQL大数据量导入导出方法对照
硬件: Intel(R) Xeon(R) CPU 5130 @ 2.00GHz * 2, 4G RAM, 564G SAS 软件: Red Hat Enterprise Linux AS release 4 (Nahant Update 4) 2.6.9 42.ELsmp (32-bit), MySQL 5.0.27-standard-log 总记录数: 1016126, 每行平均大小 46822 1. 导出测试 1.1 导出成文本 方法: SELECT * INTO OUTFILE '/backup/yejr.txt' FROM yejr; 耗时: 3252.15 秒 1.2 导出成 .sql 文件 方法: mysqldump -t -n --default-character-set=latin1 test yejr > /backup/yejr.sql 耗时: 2124 sec 结论: 用 mysqludmp 导出数据是相对较快的方法. 2. 导入测试 2.1 导入 txt 文件 方法: mysql test < /backup/yejr.txt 耗时: 3317.62 sec 2.2 导入 sql 文件 方法: mysql test < /backup/yejr.sql 耗时: 4706.618 sec 结论: 1. 用 load data 是较快的方法 2. 大数据量情况下, 最好是创建好表之后, 同时也要创建好相关的索引. 虽然说没有索引时导入更快, 但是数据导入完成之后再创建索引总共的耗时比事先创建好了再导入要来的多多了.
另外,如果是myisam表,则最好是导入之前先禁用表的索引,导完之后再启用;或者是一开始不创建索引,导完之后再创建,都会比导入的同时更新索引来的快很多. (编辑:济南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |