ブログ - Created_tmp_tables
mysqladminでextended-statusを採ってみたら気になる値が.
テンポラリのテーブルがたくさんされているのは良いのだけれど,そのうちの幾つかがディスク上で実行されている.これを解消するしか無い.
まずは現在設定を確認.
明示的に指定が無い.サーバ上の設定を確認.
16,777,216byteなので16MBとして設定してある.倍の32MBにしてみる.
設定されたか確認.
sh-3.2# grep tmp mysql_extend-status.txt
| Created_tmp_disk_tables | 683 |
| Created_tmp_files | 0 |
| Created_tmp_tables | 32383 |
sh-3.2#
まずは現在設定を確認.
sh-3.2# grep table_size /etc/my.cnf
sh-3.2#
mysql> SHOW VARIABLES LIKE 'tmp_table_size';
+----------------+----------+
| Variable_name | Value |
+----------------+----------+
| tmp_table_size | 16777216 |
+----------------+----------+
1 row in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'max_heap_table_size';
+---------------------+----------+
| Variable_name | Value |
+---------------------+----------+
| max_heap_table_size | 16777216 |
+---------------------+----------+
1 row in set (0.00 sec)
mysql>
mysql> SET tmp_table_size=33554432;
Query OK, 0 rows affected (0.00 sec)
mysql> SET max_heap_table_size=33554432;
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> SHOW VARIABLES LIKE 'tmp_table_size';
+----------------+----------+
| Variable_name | Value |
+----------------+----------+
| tmp_table_size | 33554432 |
+----------------+----------+
1 row in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'max_heap_table_size';
+---------------------+----------+
| Variable_name | Value |
+---------------------+----------+
| max_heap_table_size | 33554432 |
+---------------------+----------+
1 row in set (0.00 sec)
mysql>