Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CREATE TABLE as SELECT - mit MEMORY ENGINE (im RAM-Speicher)

  • Ja, das ist möglich, aber nicht mit der einfachen Syntax CREATE TABLE t AS SELECT ... - Sie müssen Tabellenspalten in der vollständigen Anweisung angeben , Beispiel:

    CREATE TABLE t (col1 INT(11), col2 INT(11)) 
    ENGINE=MEMORY 
    AS 
    SELECT * FROM another_t
    
  • Maximale Tabellengröße standardmäßig bei 16 MB , kann aber mit max_heap_table_size Server-Systemvariable. Aber bitte beachten Sie, dass dieses Limit pro Engine gilt - nicht pro Tisch . Dh Ihr gesamter Speicher Tische werden es teilen. Um die Größe einzelner Tabellen einzuschränken, müssen Sie Sitzung ausführen Wert für max_heap_table_size , wie

     mysql> SET max_heap_table_size = 24*1024*1024;