Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các bảng được tạo bằng TẠO BẢNG TẠM THỜI trong bộ nhớ hoặc trên đĩa?

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể tải tệp hoặc lắp ráp 'MySql.Data, Phiên bản =6.3.6.0

  2. Nút xóa không hoạt động trong CodeIgniter

  3. Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost' (sử dụng mật khẩu:CÓ) (Mysql ::Lỗi)

  4. Không thể sử dụng kết nối MySQL cho khung thực thể 6

  5. mysql - CHÈN phạm vi ngày vào các cột ngày NẾU các ngày không trùng lặp với những ngày hiện có