程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL大數據量導入導出方法比較

MySQL大數據量導入導出方法比較

編輯:關於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表,則最好是導入之前先禁用表的索引,導完之後再啟用;或者是一開始不創建索引,導完之後再創建,都會比導入的同時更新索引來的快很多.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved