2011-09-27 36 views
1

我是新來的大型數據庫,我有以下幾點:我應該更改大型表加入和更新的MySQL my.ini參數?

  • 表A - 20M行
  • 表B - 500K行

而且很多疑問,特別是以下,永遠走。

UPDATE 
    TableA AS A 
INNER JOIN 
    TableB AS B 
    ON B.Value IS NOT NULL AND A.Key=B.Key  
SET 
    A.Value = B.Value 
WHERE 
    A.Value IS NULL; 

我知道我的MySQL(MyISAM數據)未配置對於大型表,我敢肯定,它可以使用更多的可用內存(4GB總)或CPU(I7)的。我應該查看my.ini中的哪些參數?

我已經開始使用key_buffer_size = 1536M,因爲tableA有一個1GB的索引。任何幫助表示讚賞。

回答

1

對於InnoDB

  • innodb_buffer_pool_size設置爲約內存80%,您希望可mysql的
  • innodb_log_file_size * innodb_log_files_in_group應足夠大的更改將被寫入到磁盤不超過一次,第二

但更容易使用配置嚮導https://tools.percona.com/wizard