2011-11-29 27 views
7

Actualmente tengo una secuencia de comandos ejecutándose y no creí que llevara tanto tiempo ejecutarla, la secuencia de comandos está modificando una tabla temporal.Ver la tabla temporal de MySQL - No en la sesión

Sé que las tablas temporales solo existen para la sesión actual, pero ¿hay alguna forma de ver los datos que guardan fuera de la sesión?

La razón es que quiero saber cuánto tiempo mi secuencia de comandos va a seguir funcionando, si pudiera ver los datos temporales entonces podría resolverlos.

+2

Alguien ha escrito un parche para "mostrar tablas temporales": http://venublog.com/2010/02/03/show-temporary- tablas/ Se ha incluido en Percona XtraDB, una popular horquilla de MySQL. – ggiroux

+0

@ggiroux, ¿qué pasa con WebScaleSQL? – Pacerier

+0

En MySQL 5.7 se ha agregado una nueva INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO: http://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-temp-table-info.html – ggiroux

Respuesta

8

No hay una manera fácil de hacerlo, me temo.

Las tablas temporales se almacenan en el directorio temporal designado de su mysqld (normalmente/tmp) y verá un conjunto de tablas algo como:

-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 

Eso es un conjunto normal de tablas MyISAM que definen (en orden arriba) estructura, datos e índice.

Esto es horriblemente hacky pero sospecho que podría copiar estas tablas en su esquema test, ejecutar una reparación en la tabla y luego ver su contenido.

Si puede medir el proceso por el tamaño de la tabla temporal, entonces esa podría ser una forma más sencilla de analizar lo que está sucediendo.

+0

Gracias. El tamaño del archivo fue muy útil, lo comparé con el tamaño de una tabla similar. – Drahcir

1

no es posible, se puede (sin embargo),
registro hito (mensaje,% de finalización, número filas procesadas)
en un archivo temporal, y utiliza el tail -f log_file para monitorear

Cuestiones relacionadas