找出创建的查询“”tmp_disk_tables“

时间:2013-06-11 13:22:58

标签: mysql

我的状态报告说,对于mysql告诉我,有些表需要存储在HDD上,因为它们不适合缓存。它不是一个很大的数字,但我很困惑。

Created_tmp_disk_tables 3.4 k   

有没有办法找出那些确切的查询?所以我可以告诉mysql只记录“创建的tmp磁盘表”为真的查询吗?

我知道我的所有查询都创建了tmp表,我有很多连接和排序,但我对查询的理解是大多数临时表都非常小。我设置了

tmp_table_size   = 256M
max_heap_table_size     = 256M

和IMO那里不应该有任何超过这个限制的查询(任何查询都不应该接近它)

我当然知道慢查询日志,但是它没有信息天气它创建了磁盘表。我发现了一些涉及此问题的主题,但是它们中没有一个似乎在Debian7上的mySQL 5.5中运行(mysql的特殊修补版本,mysql 5.6)

http://www.mysqlperformanceblog.com/2008/09/22/finding-what-created_tmp_disk_tables-with-log_slow_filter/

http://www.arubin.org/blog/2011/05/01/using-mysql-5-6-to-find-queries-creating-disk-temporary-tables/

(顺便说一下。如果DB管理员或服务器故障是一个更好的地方,对于关闭主题感到抱歉)

0 个答案:

没有答案