Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah tabel dibuat dengan CREATE SEMENTARA TABLE di memori atau di disk?

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Format tanggal di MySQL SELECT sebagai ISO 8601

  2. Temukan datetime terdekat dengan datetime yang ditentukan dalam kueri mysql

  3. Cara memilih setiap baris ke-n di mySQL mulai dari n

  4. iterator/generator SqlAlchemy built-in yang hemat memori?

  5. Bagaimana Menghubungkan PHP ke MySQL