Como alterar o mecanismo de armazenamento MySQL

Resumo : neste tutorial, você aprenderá qual mecanismo de armazenamento uma tabela está usando e como alterar o mecanismo de armazenamento da tabela para um diferente.

O MySQL suporta muitos tipos de mecanismos de armazenamento que fornecem diferentes capacidades e características. Por exemplo, as tabelas InnoDB suportam transações, enquanto MyISAM não.

Consultando o mecanismo de armazenamento atual de uma tabela

Existem várias maneiras de obter o mecanismo de armazenamento atual de uma tabela.

A primeira maneira de verificar o mecanismo de armazenamento atual de uma tabela é consultar os dados da tablestabela no information_schemabanco de dados.

Por exemplo, para obter o mecanismo de armazenamento atual da officestabela no banco de dados de amostra classicmodels , use a seguinte consulta:

SELECT 
    engine
FROM
    information_schema.tables
WHERE
    table_schema = 'classicmodels'
        AND table_name = 'offices';Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo de mecanismo de armazenamento de alterações MySQL

A segunda maneira de consultar o mecanismo de armazenamento de uma tabela é usar a SHOW TABLE STATUSseguinte instrução:

SHOW TABLE STATUS LIKE 'offices';Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo de status da tabela de exibição do MySQL

A terceira maneira de obter o mecanismo de armazenamento de uma tabela é usar a SHOW CREATE TABLEinstrução.

SHOW CREATE TABLE offices;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
mysql> SHOW CREATE TABLE offices\G;
*************************** 1. row ***************************
       Table: offices
Create Table: CREATE TABLE `offices` (
  `officeCode` varchar(10) NOT NULL,
  `city` varchar(50) NOT NULL,
  `phone` varchar(50) NOT NULL,
  `addressLine1` varchar(50) NOT NULL,
  `addressLine2` varchar(50) DEFAULT NULL,
  `state` varchar(50) DEFAULT NULL,
  `country` varchar(50) NOT NULL,
  `postalCode` varchar(15) NOT NULL,
  `territory` varchar(10) NOT NULL,
  PRIMARY KEY (`officeCode`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
mysql>Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

MySQL mostrou que a officestabela usa o mecanismo de armazenamento InnoDB.

MySQL mudando mecanismo de armazenamento

Depois de ter as informações do mecanismo de armazenamento de uma tabela, você pode alterá-las usando a instrução ALTER TABLE da seguinte maneira:

ALTER TABLE table_name ENGINE engine_name;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Para verificar qual mecanismo de armazenamento seu servidor MySQL suporta atualmente, use a instrução SHOW ENGINES da seguinte maneira:

SHOW ENGINES;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
MOTOR DE MOSTRAR MySQL

Por exemplo, para alterar o mecanismo de armazenamento da officestabela de InnoDB para MyISAM, use a seguinte instrução:

ALTER TABLE offices ENGINE = 'MYISAM';Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste tutorial, mostramos como consultar o mecanismo de armazenamento atual de uma tabela e como alterá-lo para um mecanismo de armazenamento diferente usando a ALTER TABLEinstrução.

Deixe um comentário

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