Itu tergantung pada mesin apa yang Anda tentukan. Secara default data tabel akan disimpan pada disk. Jika Anda menentukan mesin MEMORY, data hanya akan disimpan di memori.
Seharusnya dimungkinkan untuk benar-benar menemukan file yang dibuat di sistem file saat tabel sementara dibuat. Setelah menjalankan perintah berikut:
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;
Saya kemudian memeriksa direktori:C:\ProgramData\MySQL\MySQL Server 5.5\data\test (di Windows) dan file yang ada adalah:
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.
Tabel sementara disimpan di C:\Windows\Temp dan memiliki nama yang tidak biasa, tetapi secara internal data disimpan dengan cara yang sama.
#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.