MySQL服务器创建临时文件数的合理配置

来源:岁月联盟 编辑:猪头三 时间:2010-11-20

MySQL服务器创建的临时文件的数量多少合适呢?下面就对MySQL服务器创建临时文件数的合理配置作详尽的分析讨论,供您参考。

  1. mysql> show global status like 'created_tmp%';  
  2. +-------------------------+---------+  
  3. | Variable_name | Value |  
  4. +-------------------------+---------+  
  5. | Created_tmp_disk_tables | 21197 |  
  6. | Created_tmp_files | 58 |  
  7. | Created_tmp_tables | 1771587 |  
  8. +-------------------------+---------+ 

每次创建临时表,Created_tmp_tables增加,如果是在磁盘上创建临时表,Created_tmp_disk_tables也增加,Created_tmp_files表示MySQL服务创建的临时文件文件数,比较理想的配置是:

  1. Created_tmp_disk_tables / Created_tmp_tables * 100%  

比如上面的服务器Created_tmp_disk_tables / Created_tmp_tables * 100% = 1.20%,应该相当好了。我们再看一下MySQL服务器对临时表的配置:

  1. mysql> show variables where Variable_name in ('tmp_table_size', 'max_heap_table_size');  
  2. +---------------------+-----------+  
  3. | Variable_name | Value |  
  4. +---------------------+-----------+  
  5. | max_heap_table_size | 268435456 |  
  6. | tmp_table_size | 536870912 |  
  7. +---------------------+-----------+ 

只有256MB以下的临时表才能全部放内存,超过的就会用到硬盘临时表。