MySQL的load data命令效能小測試

來源:互聯網
上載者:User

以下環境為:

軟體:

主機:winxp sp3

虛擬機器軟體:wmware ws 7.1

虛擬機器系統:rhel5.1+mysql5.157

主機硬體:

cpu:酷睿2 T8100

記憶體:3G

  1. mysql> desc t;   
  2. +-----------------+---------------------+------+-----+---------+-------+   
  3. | Field           | Type                | Null | Key | Default | Extra |   
  4. +-----------------+---------------------+------+-----+---------+-------+   
  5. | TABLE_CATALOG   | varchar(512)        | YES  |     | NULL    |       |    
  6. | TABLE_SCHEMA    | varchar(64)         | NO   |     | NULL    |       |    
  7. | TABLE_NAME      | varchar(64)         | NO   |     | NULL    |       |    
  8. | TABLE_TYPE      | varchar(64)         | NO   |     | NULL    |       |    
  9. | ENGINE          | varchar(64)         | YES  |     | NULL    |       |    
  10. | VERSION         | bigint(21) unsigned | YES  |     | NULL    |       |    
  11. | ROW_FORMAT      | varchar(10)         | YES  |     | NULL    |       |    
  12. | TABLE_ROWS      | bigint(21) unsigned | YES  |     | NULL    |       |    
  13. | AVG_ROW_LENGTH  | bigint(21) unsigned | YES  |     | NULL    |       |    
  14. | DATA_LENGTH     | bigint(21) unsigned | YES  |     | NULL    |       |    
  15. | MAX_DATA_LENGTH | bigint(21) unsigned | YES  |     | NULL    |       |    
  16. | INDEX_LENGTH    | bigint(21) unsigned | YES  |     | NULL    |       |    
  17. | DATA_FREE       | bigint(21) unsigned | YES  |     | NULL    |       |    
  18. | AUTO_INCREMENT  | bigint(21) unsigned | YES  |     | NULL    |       |    
  19. | CREATE_TIME     | datetime            | YES  |     | NULL    |       |    
  20. | UPDATE_TIME     | datetime            | YES  |     | NULL    |       |    
  21. | CHECK_TIME      | datetime            | YES  |     | NULL    |       |    
  22. | TABLE_COLLATION | varchar(32)         | YES  |     | NULL    |       |    
  23. | CHECKSUM        | bigint(21) unsigned | YES  |     | NULL    |       |    
  24. | CREATE_OPTIONS  | varchar(255)        | YES  |     | NULL    |       |    
  25. | TABLE_COMMENT   | varchar(80)         | NO   |     | NULL    |       |    
  26. +-----------------+---------------------+------+-----+---------+-------+   
  27. 21 rows in set (0.04 sec)   
  28. mysql> select count(*) from t;   
  29. +----------+   
  30. | count(*) |   
  31. +----------+   
  32. |   502564 |    
  33. +----------+   
  34. 1 row in set (0.00 sec)   
  35. mysql> select * from t into outfile '/tmp/t.txt' fields terminated by ',' enclosed by '"';   
  36. Query OK, 502564 rows affected (5.09 sec)   
  37. mysql> create table t1 select * from t where 1<>1;   
  38. Query OK, 0 rows affected (0.02 sec)   
  39. Records: 0  Duplicates: 0  Warnings: 0   
  40. mysql> select * from t1;   
  41. Empty set (0.01 sec)   
  42. mysql> load data infile '/tmp/t.txt' into table t1 fields terminated by ',' enclosed by '"';   
  43. Query OK, 502564 rows affected (8.73 sec)   
  44. Records: 502564  Deleted: 0  Skipped: 0  Warnings: 0   
  45. mysql> select count(*) from t;   
  46. +----------+   
  47. | count(*) |   
  48. +----------+   
  49. |   502564 |    
  50. +----------+   
  51. 1 row in set (0.00 sec)   
  52. mysql> select count(*) from t1;   
  53. +----------+   
  54. | count(*) |   
  55. +----------+   
  56. |   502564 |    
  57. +----------+   
  58. 1 row in set (0.00 sec)   
  59. mysql>   

圖1 用 information_schema.tables來產生測試表t.

  1. [root@rhel5 ~ 05:04:56]#ll -h /tmp   
  2. total 88M   
  3. -rw-rw-rw- 1 mysql  mysql      80 Sep 21 16:16 a.txt   
  4. drwx------ 2 root   root     4.0K Feb 18  2015 keyring-mViyDu   
  5. srwxr-xr-x 1 Oracle oinstall    0 Aug  3  2010 mapping-oracle   
  6. srwxr-xr-x 1 root   root        0 Feb 18  2015 mapping-root   
  7. -rw-rw---- 1 mysql  mysql    2.8K Sep 21 16:56 mysqlslow.log   
  8. srwxrwxrwx 1 mysql  mysql       0 Sep 21 15:17 mysql.sock   
  9. srw------- 1 oracle oinstall    0 Aug  3  2010 scim-panel-socket:0-oracle   
  10. srw------- 1 root   root        0 Feb 18  2015 scim-panel-socket:0-root   
  11. drwx------ 2 root   root     4.0K Sep 21 17:02 ssh-kahSRu6355   
  12. drwx------ 2 root   root     4.0K Sep 21 16:16 ssh-XCGOuG6217   
  13. -rw-rw-rw- 1 mysql  mysql     88M Sep 21 17:01 t.txt  

圖2 測試表t匯出資料檔案為t.txt

測試過程如下:

用 insert into t select * from t; 不斷插入資料直到其記錄數為50萬條。

然後把t的資料匯入到文字檔中。

用loaddata命令把文字檔中的資料匯入到表t2中。

各操作時間已經顯示在圖中,速度比我預想得要快得多!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.