mysql - 查看 MySQL 临时表 - 不在 session 中

标签 mysql temp-tables

我目前有一个脚本在运行,没想到运行会花这么长时间,脚本正在修改一个临时表。

我知道临时表只存在于当前 session 中,但无论如何都可以从 session 外部查看它们保存的数据吗?

原因是我想知道我的脚本将继续运行多长时间,如果我能看到临时数据,那么我就能弄清楚。

最佳答案

恐怕没有简单的方法可以做到这一点。

临时表将存储在您的 mysqld 指定的临时目录(通常是/tmp)中,您将看到一组类似于以下内容的表:

-rw-rw---- 1 mysql mysql     8724 Nov 29 18:09 #sqldba_5fa70c_12f1.frm
-rw-rw---- 1 mysql mysql   188408 Nov 29 18:09 #sqldba_5fa70c_12f1.MYD
-rw-rw---- 1 mysql mysql     1024 Nov 29 18:09 #sqldba_5fa70c_12f1.MYI

这是一组普通的 MyISAM 表,定义(按以上顺序)结构、数据和索引。

这非常骇人听闻,但我怀疑您可以将这些表复制到您的 test 架构中,对表运行修复,然后查看其内容。

如果您可以通过临时表的大小来衡量进程,那么这很可能是分析正在发生的事情的更简单方法。

关于mysql - 查看 MySQL 临时表 - 不在 session 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315480/

相关文章:

MySQL = AND(CASE.. ELSE 1=1).........含义

postgresql - 从 PostgreSQL 获取临时表创建语句

mysql - 加快创建mysql表(from select)

mysql - Xampp mysql内存引擎临时表已满错误1114

php - 嵌套的 mysql_query() - 重置第一个结果的指针?

mysql - 具有内连接优化的 SQL 更新查询

mysql - 使用 where 子句选择 2 个字段的计数大于 1 的行

php - 双 While 循环不起作用

mysql - MySQL ibtmp1 临时表空间增长到多大?

sql-server - 创建临时表前先检查临时表是否存在,如果存在则删除