MySQL

概要 [#se51dad4]

show processlistをした際に、copyng to tmp tableが表示されると、ディスクに直接テンポラリーファイルを書き出すため、結果が返るまでに時間がかかります。

そのための対策です。

対処 [#j459ebd4]

オンラインで設定 [#eb27bc34]

オンラインで対応可能なため、mysqlコマンドから下記を実行します。

 mysql> show global variables like '%tmp%;
 mysql> show global variables like '%heap%;

いずれもデフォルトは16MBです。

変更する値は◯MB×1024×1024の結果を記載します。

 mysql> set global max_heap_table_size=268435456;
 mysql> set global tmp_table_size=268435456;

my.cnfに下記を記述 [#q1955728]

mysql再起動時に有効になります。

 max_heap_table_size = 256M
 tmp_table_size = 256M