无需过分关注Created_tmp_disk_tables

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介:
通常地,我们习惯以 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
7 Query       /*!40100 SET @@SQL_MODE='' */
7 Init DB     yejr
7 Query       SHOW TABLES LIKE 'yejr'
7 Query       LOCK TABLES `yejr` READ /*!32311 LOCAL */
7 Query       SET OPTION SQL_QUOTE_SHOW_CREATE=1
7 Query       show create table `yejr`
7 Query       show fields from `yejr`
7 Query       show table status like 'yejr'
7 Query       SELECT /*!40001 SQL_NO_CACHE */ * FROM `yejr`
7 Query       UNLOCK TABLES
7 Quit
其中,有一步是: 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,但如果它的值大的离谱的话,那就好好查一下,你的服务器到底都在执行什么查询了。

本文转自叶金荣51CTO博客,原文链接:http://blog.51cto.com/imysql/308966,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
物联网 开发工具 Android开发
UniApp调用SDK原生接口
UniApp调用SDK原生接口
2961 0
UniApp调用SDK原生接口
|
关系型数据库 MySQL 数据库连接
QT安装mysql驱动和使用ODBC连接mysql
上一篇博文中提到了mysql的使用,但是很多人在使用新版Qt连接mysql的时候出现连接不上或者是没有mysql驱动的问题,网上有很多博文写了这个问题。但是对于最新版的mysql,使用网上的那些编译办法无法完全解决driver not loaded的问题,接下来我将写一篇文章详细的说一下如何解决该 问题,并且介绍一下除了使用驱动连接mysql,还可以使用odbc连接mysql。
1608 0
|
移动开发 小程序
微信小程序web-view嵌入uni-app H5页面,通过H5页面跳转企业微信客户聊天窗口如何操作?
微信小程序web-view嵌入uni-app H5页面,通过H5页面跳转企业微信客户聊天窗口如何操作?
|
JSON NoSQL Redis
redis-full-check校验工具
redis-full-check是阿里云Redis&MongoDB团队开源的用于校验2个redis数据是否一致的工具,通常用于redis数据迁移后正确性的校验。
26679 0
|
4月前
|
SQL 关系型数据库 MySQL
MySQL慢sql的排查与优化
本文详解MySQL慢查询排查与优化,涵盖EXPLAIN执行计划分析、索引失效场景及10大优化方案,如避免全表扫描、合理使用索引、分页与排序优化等,助力提升数据库性能。
MySQL慢sql的排查与优化
|
Shell 虚拟化 iOS开发
Mac下iTerm2+oh my zsh+powerlevel10k 配置与美化过程记录
Mac下iTerm2+oh my zsh+powerlevel10k 配置与美化过程记录
4801 0
Mac下iTerm2+oh my zsh+powerlevel10k 配置与美化过程记录
|
Kubernetes Ubuntu Linux
Kubernetes(K8S)集群管理Docker容器(部署篇)
Kubernetes(K8S)集群管理Docker容器(部署篇)
3063 1
|
自然语言处理 监控 关系型数据库
mysql造数据占用临时表空间
【5月更文挑战第20天】MySQL在处理复杂查询时可能使用临时表,可能导致性能下降。临时表用于排序、分组和连接操作。常见问题包括内存限制、未优化的查询、数据类型不当和临时表清理。避免过度占用的策略包括优化查询、调整系统参数、优化数据类型和事务管理。使用并行查询、分区表和监控工具也能帮助管理临时表空间。通过智能问答工具如通义灵码,可实时续写SQL和获取优化建议。注意监控`Created_tmp_tables`和`Created_tmp_disk_tables`以了解临时表使用状况。
884 5
|
Linux 数据安全/隐私保护 Windows
centos 7.2 搭建svn服务器
centos 7.2 搭建svn服务器
567 0
|
网络协议
netstat 查看端口开放情况
netstat 查看端口开放情况
829 0

热门文章

最新文章