Tabeals HEAP usam índices hash e são
      armazenadas na memória. Isto as torna muito rápidas, mas se o
      MySQL falhar você irá perder todos os dados armazenados nela.
      HEAP é muito útil para tabelas temporárias!
    
      As tabelas HEAP do MySQL utilizam hashing 100%
      dinâmico sem áreas em excesso. Não há espaços extras
      necessários para listas livres. Tabelas HEAP
      também não têm problemas com deleção + inserção, o que
      normalmente é comum em tabelas com hash:
    
mysql>CREATE TABLE test TYPE=HEAP SELECT ip,SUM(downloads) AS down->FROM log_table GROUP BY ip;mysql>SELECT COUNT(ip),AVG(down) FROM test;mysql>DROP TABLE test;
      Aqui seguem algumas coisas que você deve considerar ao utilizar
      tabelas HEAP:
    
          Você sempre deve utilizar a especificação
          MAX_ROWS na instrução
          CREATE para assegurar que você não irá
          utilizar toda a memória acidentalmente.
        
          Índices só serão utilizados com = e
          <=> (mas é MUITO rápido).
        
          Tabelas HEAP só podem usar chaves inteiras
          para procurar por uma linha; compare isto a tabelas
          MyISAM onde qualquer prefixo de chave pode
          ser usada para encontrar linhas.
        
          Tabelas HEAP usam um formato de registro de
          tamanho fixo.
        
          HEAP não suporta colunas
          BLOB/TEXT.
        
          HEAP não suporta colunas
          AUTO_INCREMENT.
        
          Antes do MySQL 4.0.2, HEAP não suportava
          um índice em uma coluna NULL.
        
          Você pode ter chaves não únicas em uma tabela
          HEAP (isto não é comum em tabelas com
          hash).
        
          Tabelas HEAP são compartilhadas entre
          todos os clientes (como qualquer outra tabela).
        
          Você não pode pesquisar pela próxima entrada na ordem (isto
          é, usar o índice para fazer um ORDER BY).
        
          Dados de tabelas HEAP são alocados em
          blocos menores. As tabelas são 100% dinâmicas (na
          inserção). Não são necessárias areas excessivas e espaço
          de chave extra. Linhas deletadas são colocadas em uma lista
          encadeada e são reutilizadas quando você insere novos dados
          na tabela.
        
          Você precisa de memória extra suficiente para todas as
          tabelas HEAP que você quiser utilizar ao
          mesmo tempo.
        
          Para liberar memória, você deve executar DELETE
          FROM tabela_heap, TRUNCATE
          tabeala_heap ou DROP TABLE
          tabela_heap.
        
          O MySQL não pode descobrir aproximadamente quantas linhas
          existem entre dois valores (isto é utilizado pela atimizador
          de escala para decidar qual indice usar). Isto pode afetar
          algumas consultas se você alterar uma tabela
          MyISAM para uma tabela
          HEAP.
        
          Para assegurar que você não vai cometer nenhum erro
          acidentalmente, você não pode criar tabelas
          HEAP maiores que
          max_heap_table_size.
        
      A memória necessária para uma linha na tabela
      HEAP é:
    
SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2) + ALIGN(length_of_row+1, sizeof(char*))
      sizeof(char*) é 4 em uma máquina de 32 bits e
      8 em uma máquina de 64 bits.
    
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

