/ / View MySQL Temporary Table - Nie w sesji - mysql, temp-tabele

Wyświetl tymczasową tabelę MySQL - Nie w sesji - mysql, temp-tables

Obecnie mam uruchomiony skrypt i nie sądziłem, że uruchomienie zajmie tak dużo czasu, skrypt modyfikuje tabelę tymczasową.

Wiem, że tabele tymczasowe istnieją tylko dla bieżącej sesji, ale czy i tak można zobaczyć przechowywane przez nich dane spoza sesji?

Powodem jest to, że chcę wiedzieć, jak długo będzie działał mój skrypt, jeśli będę mógł zobaczyć tymczasowe dane, będę w stanie to zrozumieć.

Odpowiedzi:

8 dla odpowiedzi № 1

Nie ma łatwego sposobu na zrobienie tego. Obawiam się.

Tabele tymczasowe będą przechowywane w wyznaczonym katalogu tymczasowym mysqld (zwykle / tmp), a zobaczysz zestaw tabel w stylu:

-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

To jest normalny zestaw tabel MyISAM definiujących (w kolejności powyżej) strukturę, dane i indeks.

To strasznie hacky, ale podejrzewam, że mógłbyś skopiować te tabele na swoje test schemat, uruchom naprawę w tabeli, a następnie wyświetl jej zawartość.

Jeśli możesz ocenić proces według rozmiaru tabeli tymczasowej, może to być prostszy sposób analizy tego, co się dzieje.


1 dla odpowiedzi nr 2

Nie jest możliwe, możesz (jednak),
kamień milowy dziennika (komunikat,% ukończenia, liczba wierszy przetworzonych)
do pliku tymczasowego i użyj tail -f log_file monitorować


0 dla odpowiedzi № 3

W MySQL 5.7 dodano nowy INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO: http://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-temp-table-info.html.

W przeciwnym razie Percona XtraDB ma tę funkcję przez chwilę: http://venublog.com/2010/02/03/show-temporary-tables/