我的状态报告说 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)
(顺便说一句。如果数据库管理员或服务器故障是一个更好的地方,对不起题外话)