To zależy od tego, jaki silnik wybierzesz. Domyślnie dane tabeli będą przechowywane na dysku. Jeśli określisz mechanizm MEMORY, dane będą przechowywane tylko w pamięci.
Powinno być możliwe znalezienie plików utworzonych w systemie plików podczas tworzenia tabel tymczasowych. Po uruchomieniu następujących poleceń:
CREATE TABLE test.table_myisam (x int) ENGINE=MyISAM;
CREATE TABLE test.table_memory (x int) ENGINE=MEMORY;
CREATE TEMPORARY TABLE test.temp_table_myisam (x int) ENGINE=MyISAM;
CREATE TEMPORARY TABLE test.temp_table_memory (x int) ENGINE=MEMORY;
Następnie sprawdziłem katalog:C:\ProgramData\MySQL\MySQL Server 5.5\data\test (w systemie Windows) i obecne pliki to:
table_innodb.frm # Table definition. table_innodb.MYD # MyISAM table data file. table_innodb.MYI # MyISAM table index file. table_memory.frm # No MYD or MYI file for the MEMORY engine.
Tabele tymczasowe są przechowywane w C:\Windows\Temp i mają nietypowe nazwy, ale wewnętrznie dane są przechowywane w ten sam sposób.
#sql9a0_7_d.frm # This is the MyISAM temporary table. #sql9a0_7_d.MYD # MyISAM data file for temporary table. #sql9a0_7_d.MYI # MyISAM index file for temporary table. #sql9a0_7_c.frm # This is the MEMORY engine file. No MYD or MYI.