无需过分关注Created_tmp_disk_tables
通常地,我们习惯以 Created_tmp_tables/(Created_tmp_disk_tables + Created_tmp_tables) 或者已各自的一个时段内的差额计算,来判断基于内存的临时表利用率。所以,我们会比较关注 Created_tmp_disk_tables 是否过多,从而认定当前服务器运行状况的优劣。
而事实上,我们并没有必要太过分的关注 Created_tmp_disk_tables,因为通过上面的公式,并不能真正反映到mysql里临时表的利用率。通过打上percona的补丁后,我们就可以查看到每个slow query的执行计划了,也就知道了其实很多情况下都创建了 tmp_disk_table,而我们并不需要担心,例如之前我写过的[深入理解MySQL系列] - mysqldump的几个主要选项探究。可以看到,在调用mysqldump备份数据时,大概执行步骤如下:
以下是代码片段: 081022 17:39:33 7 Connect root@localhost on |
其中,有一步是:show fields from `yejr`。从slow query记录的执行计划中,可以知道它也产生了 Tmp_table_on_disk。
另外,例如 show [global] status 也是会创建 Tmp_table_on_disk 的。
从上面的分析来看,有些情况下产生的 Tmp_table_on_disk 我们完全不用担心,因此没必要过分关注 Created_tmp_disk_tables,但如果它的值大的离谱的话,那就好好查一下,你的服务器到底都在执行什么查询了。
关于percona微秒查询补丁的介绍可以看这里:MySQL 微秒慢查询补丁。
建议继续学习:
- 30分钟3300%性能提升――python+memcached网页优化小记 (阅读:11864)
- WEB系统需要关注的一些点 (阅读:10161)
- 基于SSD的数据库性能优化 (阅读:7183)
- jQuery性能优化指南 (阅读:7162)
- 一次简单C程序的性能优化 (阅读:5455)
- mysql sql 百万级数据库优化方案 (阅读:4851)
- 一次神奇的MySQL优化 (阅读:4696)
- PHP最佳实践 (阅读:4653)
- Linux 64位, MySQL, Swap & Memory 优化 (阅读:4305)
- PHP 性能优化技巧-google (阅读:4194)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:yejr 来源: MySQL 中文网 -
- 标签: Created_tmp_disk 优化
- 发布时间:2009-10-19 15:45:16
- [693] Go Reflect 性能
- [26] 正态分布的前世今生(一)
- [18] rsync同步的艺术
- [15] Cuckoo Filter:设计与实现
- [15] 基于HTTP缓存轻松实现客户端应用的离线支持
- [14] Linux Used内存到底哪里去了?
- [13] 公钥私钥加密解密数字证书数字签名详解
- [13] Linux内存中的Cache真的能被回收么?
- [13] 关于RDS只读实例延迟分析
- [12] Android应用内多进程的使用及注意事项