Mecanismo de armazenamento de memória MySQL

Resumo : Neste tutorial, você aprenderá sobre o MEMORYmecanismo de armazenamento MySQL e como usá-lo para melhorar a velocidade de recuperação de dados temporários.

Introdução ao mecanismo de armazenamento MySQL MEMORY

O MEMORYmecanismo de armazenamento permite criar uma tabela cujos dados são armazenados inteiramente na memória do servidor.

O MEMORYmecanismo de armazenamento é útil quando você deseja armazenar dados na memória para acesso rápido. Por exemplo:

  • Cache : você pode usar MEMORYtabelas para armazenar em cache dados acessados ​​com frequência que raramente são alterados. Ele pode melhorar significativamente o desempenho de aplicativos com uso intenso de leitura, fornecendo dados diretamente da memória.
  • Dados de sessão : armazenar dados de sessão de aplicativos da web em MEMORYtabelas pode melhorar o tempo de resposta porque é mais rápido ler e gravar dados da memória.
  • Tabelas temporárias : você também pode usar as MEMORYtabelas para armazenamento temporário, como resultados intermediários de consultas complexas. Geralmente são mais rápidos que os mecanismos de armazenamento baseados em disco.

Observe que o MEMORYmecanismo de armazenamento era chamado anteriormente de HEAP.

Para criar uma MEMORYtabela, você usa a instrução CREATE TABLE e define a ENGINEcláusula como MEMORY:

CREATE TABLE table_name(
   ... 
) ENGINE = MEMORY;

Ao criar uma MEMORYtabela, o mecanismo de armazenamento salva a definição da tabela no dicionário do banco de dados MySQL.

Se o servidor de banco de dados MySQL for reiniciado, os dados na tabela de memória serão trocados, enquanto a definição da tabela permanecerá intacta.

Exemplo de mecanismo de armazenamento MySQL MEMORY

Vejamos um exemplo de uso MEMORYdo mecanismo de armazenamento MySQL.

1) Criando uma tabela MEMORY

A CREATE TABLEinstrução a seguir cria uma tabela chamada cachescom o MEMORYmecanismo de armazenamento:

CREATE TABLE caches (
   id INT
) ENGINE = MEMORY;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A cachestabela possui uma coluna com o tipo de dados INT.

2) Insira dados em uma tabela MEMORY

A instrução a seguir insere três linhas na cachestabela:

INSERT INTO caches(id) 
VALUES 
  (1), 
  (2), 
  (3);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

3) Consultar dados da tabela MEMORY

A instrução a seguir recupera dados da cachestabela:

SELECT id FROM caches;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+------+
| id   |
+------+
|    1 |
|    2 |
|    3 |
+------+
3 rows in set (0.00 sec)Linguagem de código:  JavaScript  ( javascript )

Se você reiniciar o servidor MySQL , os dados da cachestabela serão perdidos e a consulta acima não retornará nenhuma linha.

Resumo

  • O MEMORYmecanismo de armazenamento armazena os dados da tabela inteiramente na memória.
  • Os dados em uma MEMORYtabela serão perdidos se o servidor MySQL for reiniciado, enquanto as definições da tabela persistem no dicionário MySQL.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *