Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

CREATE TABLE como SELECT - usando MEMORY ENGINE (na memória RAM)


  • Sim, isso pode ser feito, mas não com sintaxe simples CREATE TABLE t AS SELECT ... - você precisará especificar as colunas da tabela em instrução completa , Amostra:
    CREATE TABLE t (col1 INT(11), col2 INT(11)) 
    ENGINE=MEMORY 
    AS 
    SELECT * FROM another_t
    

  • Tamanho máximo da tabela por padrão se 16Mb , mas pode ser ajustado com max_heap_table_size variável de sistema do servidor. Mas observe que esse limite é por mecanismo - não por mesa . Ou seja toda a sua memory tabelas irão compartilhá-lo. Para restringir o tamanho de uma tabela individual, você precisará operar em sessão valor para max_heap_table_size , Curti
     mysql> SET max_heap_table_size = 24*1024*1024;