我在PHPMyAdmin状态屏幕中看到了Created_tmp_disk_tables 10 k ,并且它是红色的。 10K是一个可怕的很多。 是我的查询或服务器设置,让临时表得到这个高? 有什么办法可以logging查询创build临时表(请说是)?
这是你需要知道的
如果内部临时表最初是作为内存表创build的,但变得太大了。
MySQL自动将其转换为磁盘表。 内存中临时表的最大大小是tmp_table_size和max_heap_table_size值中的最小值。
http://dev.mysql.com/doc/refman/5.1/en/internal-temporary-tables.html
BTW …当服务器创build一个内部的临时表(无论是在内存中还是在磁盘上),它会增加Created_tmp_tables状态variables。 如果服务器在磁盘上创build表(最初或通过转换内存表),它将增加Created_tmp_disk_tables状态variables。
你看到的是一个增量..所以当你最后一次重新启动你的MySQL? :d