MySQL: Criando tabelas temporárias em memória

Uma forma de obter velocidade na execução de tabelas, principalmente as temporárias, é criá-las em memória. Como estas tabelas são usadas e depois descartadas, é possível obter um ganho de performance muito grande com este truque.

Para criar uma tabela temporária em memória, faça:

CREATE TEMPORARY TABLE <nome_da_tabela> (<campos>) ENGINE=MEMORY;

Observe a necessidade obrigatória de informar o tipo de engine usado. Neste caso, a memória do servidor.

Esta dica também é válida para a criação de tabelas comuns (não-temporárias), bastando remover o argumento TEMPORARY. Mas cuidado, se o servidor cair, os dados são perdidos e não é possível recuperá-los.

This entry was posted in MySQL and tagged , , , , . Bookmark the permalink.

6 Responses to MySQL: Criando tabelas temporárias em memória

  1. Felipe says:

    Ótima dica!

  2. felipe says:

    ffffff

  3. Leandro says:

    Massa!! Não sabia dessa! Valeu

  4. Eliseu sb. says:

    Máximo isso !

    Estava a procura de criação temporária no banco e encontrei isso aqui, valiosa dica , valeu !

  5. Mister Developer says:

    DROP TABLE tmp_bairro;
    CREATE TEMPORARY TABLE tmp_bairro
    (
    id_bairro INT PRIMARY KEY AUTO_INCREMENT
    ,id_cidade INT
    ,descricao VARCHAR(80)
    )
    ENGINE=MEMORY;

    INSERT INTO tmp_bairro
    (SELECT * FROM bairro);

    SELECT * FROM tmp_bairro;

    –DROP TABLE tmp_bairro

  6. Neder says:

    No sql server eu uso o TempResult para criar uma tabela temporária dinamica, onde não preciso passar os campos, no mysql não tem algo parecido ?

Leave a Reply

Your email address will not be published. Required fields are marked *