Het hangt af van welke motor je specificeert. Standaard worden de tabelgegevens op schijf opgeslagen. Als u de MEMORY-engine specificeert, worden de gegevens alleen in het geheugen opgeslagen.
Het moet mogelijk zijn om de bestanden die in het bestandssysteem zijn gemaakt, daadwerkelijk te vinden wanneer de tijdelijke tabellen worden gemaakt. Na het uitvoeren van de volgende opdrachten:
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;
Ik controleerde toen de directory:C:\ProgramData\MySQL\MySQL Server 5.5\data\test (op Windows) en de aanwezige bestanden waren:
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.
De tijdelijke tabellen worden opgeslagen in C:\Windows\Temp en hebben ongebruikelijke namen, maar intern worden de gegevens op dezelfde manier opgeslagen.
#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.