Mysql
 sql >> Base de données >  >> RDS >> Mysql

CREATE TABLE as SELECT - en utilisant MEMORY ENGINE (en mémoire RAM)

  • Oui, cela peut être fait, mais pas avec une syntaxe simple CREATE TABLE t AS SELECT ... - vous devrez spécifier les colonnes de la table dans instruction complète , Exemple :

    CREATE TABLE t (col1 INT(11), col2 INT(11)) 
    ENGINE=MEMORY 
    AS 
    SELECT * FROM another_t
    
  • Taille maximale du tableau par défaut si 16Mb , mais il peut être ajusté avec max_heap_table_size variable système du serveur. Mais veuillez noter que cette limite est par moteur - pas par table . C'est à dire. toute votre memory les tables le partageront. Pour limiter la taille d'une table individuelle, vous devrez opérer sur session valeur pour max_heap_table_size , comme

     mysql> SET max_heap_table_size = 24*1024*1024;