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 tables
tabela no information_schema
banco de dados.
Por exemplo, para obter o mecanismo de armazenamento atual da offices
tabela 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 )
A segunda maneira de consultar o mecanismo de armazenamento de uma tabela é usar a SHOW TABLE STATUS
seguinte instrução:
SHOW TABLE STATUS LIKE 'offices';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A terceira maneira de obter o mecanismo de armazenamento de uma tabela é usar a SHOW CREATE TABLE
instruçã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 offices
tabela 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 )
Por exemplo, para alterar o mecanismo de armazenamento da offices
tabela 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 TABLE
instrução.