我有一個大表(> 1000萬行),我正在添加新的列和索引。my.cnf:提高在大型MySQL表中添加新列和索引的速度
這需要逐步完成更長,更長的時間。
我有一個功能強大的服務器,有16GB的內存可用。
爲了加快這個過程,my.cnf中的最佳設置是什麼?
我有一個大表(> 1000萬行),我正在添加新的列和索引。my.cnf:提高在大型MySQL表中添加新列和索引的速度
這需要逐步完成更長,更長的時間。
我有一個功能強大的服務器,有16GB的內存可用。
爲了加快這個過程,my.cnf中的最佳設置是什麼?
使用maatkit的調優引物。它會查看您的統計信息併爲您提供有關需要更改哪些設置的建議。
儘管如此,你不應該改變你的模式或索引。正如你注意到的那樣,隨着你變得越來越大,這種方法不會持久。所以也許再看看你的設計。
你也可以扔更多的硬件。聽起來你需要一個磁盤陣列與很多磁盤。
如果使用Innodb引擎,請在my.cnf中設置innodb_buffer_pool_size = 12000M。這將12G分配給MySQL來緩存你的數據。如果你的機器專用於MySQL,你可能能夠達到14G的高度。
在如此大的表格上,您應該使用基於SSD的partitiong RAID。 並使用
innodb_flush_method=O_DIRECT
您應該提高磁盤子系統的性能。除了更好的數據庫速度以外,還有更多的iops。