2011-02-16 24 views

回答

18

我可以推薦這些設置,以改善負載時間:

  • innodb_doublewrite = 0
  • innodb_support_xa = 0
  • innodb_buffer_pool_size =(50-80系統存儲器的%)
  • innodb_log_file_size =(一個大量--255M等)
  • innodb_flush_log_at_trx_commit = 0

除了設置,有一些事情你可以做自己:

  • 樣之後,創建索引(這是5.5/InnoDB的插件,一個新的優化)。
  • 加載前對數據文件進行排序。
  • 拆分數據文件並並行加載。
2

這可能不是正是你要尋找的,但是是我在過去

ALTER TABLE TABLE_NAME DISABLE KEYS; 
LOAD DATA INFILE ... ; 
ALTER TABLE TABLE_NAME ENABLE KEYS; 

使用的伎倆希望它幫助。

+4

這招只對MyISAM。 – 2011-02-19 20:24:39

+0

你說得對,對不起。 – 2011-02-24 14:38:06

0

還要確保在可能的情況下禁用二進制日誌記錄。

0

如果你趕時間,因爲要更換直播表的內容,然後再去做這種方式來代替:

CREATE TABLE new LIKE live; 
LOAD DATA ... INTO new; 
RENAME TABLE live TO old, new TO live; 
DROP TABLE old; 

RENAME是「瞬間」和原子,所以你是「永遠」向下,不管桌子的大小。

(因此你不必擔心加快LOAD這麼多。)