Nó phụ thuộc vào động cơ bạn chỉ định. Theo mặc định, dữ liệu bảng sẽ được lưu trữ trên đĩa. Nếu bạn chỉ định công cụ MEMORY, dữ liệu sẽ chỉ được lưu trữ trong bộ nhớ.
Có thể thực sự tìm thấy các tệp được tạo trong hệ thống tệp khi các bảng tạm thời được tạo. Sau khi chạy các lệnh sau:
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;
Sau đó, tôi đã kiểm tra thư mục:C:\ ProgramData \ MySQL \ MySQL Server 5.5 \ data \ test (trên Windows) và các tệp hiện có là:
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.
Các bảng tạm thời được lưu trữ trong C:\ Windows \ Temp và có tên khác thường, nhưng bên trong dữ liệu được lưu trữ theo cách tương tự.
#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.