Mysql
 sql >> Database >  >> RDS >> Mysql

CREATE TABLE come SELECT - usando MEMORY ENGINE (nella memoria RAM)

  • Sì, può essere fatto, ma non con una semplice sintassi CREATE TABLE t AS SELECT ... - dovrai specificare le colonne della tabella in dichiarazione completa , Campione:

    CREATE TABLE t (col1 INT(11), col2 INT(11)) 
    ENGINE=MEMORY 
    AS 
    SELECT * FROM another_t
    
  • Dimensione massima della tabella per impostazione predefinita se 16Mb , ma può essere modificato con max_heap_table_size variabile di sistema del server. Tuttavia, tieni presente che questo limite è per motore - non per tavolo . Cioè. tutta la tua memory i tavoli lo condivideranno. Per limitare le dimensioni di una singola tabella, dovrai operare su sessione valore per max_heap_table_size , come

     mysql> SET max_heap_table_size = 24*1024*1024;