MySQL 10k 临时表

MySQL 10k 临时表

我在 PHPMyAdmin 状态屏幕中看到Created_tmp_disk_tables 10 k它显示为红色。10k 是一个可怕的数字。是我的查询还是服务器设置导致临时表达到这么高的值?有没有办法记录创建临时表的查询(请回答是)?

答案1

这是您需要知道的。

如果内部临时表最初是作为内存表创建的但变得太大..

MySQL 会自动将其转换为磁盘表。内存临时表的最大大小是临时表大小最大堆表大小值。

http://dev.mysql.com/doc/refman/5.1/en/internal-temporary-tables.html

顺便说一句...当服务器创建内部临时表(在内存中或磁盘上)时,它会递增 Created_tmp_tables 状态变量。如果服务器在磁盘上创建表(无论是最初创建还是通过转换内存表创建),它都会递增 Created_tmp_disk_tables 状态变量。

您看到的是一个增量..那么您上次重新启动 mysql 是什么时候?:D

相关内容