Resumo : Neste tutorial, você aprenderá sobre o MEMORY
mecanismo 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 MEMORY
mecanismo de armazenamento permite criar uma tabela cujos dados são armazenados inteiramente na memória do servidor.
O MEMORY
mecanismo de armazenamento é útil quando você deseja armazenar dados na memória para acesso rápido. Por exemplo:
- Cache : você pode usar
MEMORY
tabelas 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
MEMORY
tabelas 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
MEMORY
tabelas 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 MEMORY
mecanismo de armazenamento era chamado anteriormente de HEAP
.
Para criar uma MEMORY
tabela, você usa a instrução CREATE TABLE e define a ENGINE
cláusula como MEMORY
:
CREATE TABLE table_name(
...
) ENGINE = MEMORY;
Ao criar uma MEMORY
tabela, 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 MEMORY
do mecanismo de armazenamento MySQL.
1) Criando uma tabela MEMORY
A CREATE TABLE
instrução a seguir cria uma tabela chamada caches
com o MEMORY
mecanismo de armazenamento:
CREATE TABLE caches (
id INT
) ENGINE = MEMORY;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A caches
tabela 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 caches
tabela:
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 caches
tabela:
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 caches
tabela serão perdidos e a consulta acima não retornará nenhuma linha.
Resumo
- O
MEMORY
mecanismo de armazenamento armazena os dados da tabela inteiramente na memória. - Os dados em uma
MEMORY
tabela serão perdidos se o servidor MySQL for reiniciado, enquanto as definições da tabela persistem no dicionário MySQL.