本文对MySQL服务器创建临时文件数的合理配置,以实例进行分析介绍,供大家参考。
mysql
>
show global status like 'created_tmp%';
+-------------------------+---------+
| Variable_name | Value |
+-------------------------+---------+
| Created_tmp_disk_tables | 21197 |
| Created_tmp_files | 58 |
| Created_tmp_tables | 1771587 |
+-------------------------+---------+
每次创建临时表,Created_tmp_tables增加,如果是在磁盘上创建临时表,Created_tmp_disk_tables也增加,Created_tmp_files表示MySQL服务创建的临时文件数,理想的配置如下:
Created_tmp_disk_tables / Created_tmp_tables * 100%
比如上面的服务器Created_tmp_disk_tables / Created_tmp_tables * 100% = 1.20%,应该相当好了。
MySQL服务器对临时表的配置:
mysql
>
show variables where Variable_name in (‘tmp_table_size', 'max_heap_table_size’);
+---------------------+-----------+
| Variable_name | Value |
+---------------------+-----------+
| max_heap_table_size | 268435456 |
| tmp_table_size | 536870912 |
+---------------------+-----------+
只有256MB以下的临时表才能全部放内存,超过的就会用到硬盘临时表。
有了以上的介绍,如何合理的创建mysql临时文件,想必你已经很清楚了吧。
脚本学堂,祝大家学习进步。