Резюме : в этой статье вы узнаете, какой механизм хранения использует таблица, и как изменить механизм хранения таблицы на другой.
MySQL поддерживает многие виды механизмов хранения, которые предоставляют различные возможности и характеристики. Например, таблицы InnoDB поддерживают транзакции, а MyISAM — нет.
Запрос текущего механизма хранения таблицы
Есть несколько способов получить текущий механизм хранения таблицы.
Первый способ проверить текущий механизм хранения таблицы — это запрос данных из таблицы tables в базе данных information_schema.
Например, чтобы получить текущий механизм хранения таблицы offices в примере базы данных classicmodels, используйте следующий запрос:
SELECT engine FROM information_schema.tables WHERE table_schema = 'classicmodels' AND table_name = 'offices';
Второй способ запроса механизма хранения таблицы состоит SHOW TABLE STATUS в следующем:
SHOW TABLE STATUS LIKE 'offices';
Третий способ получить механизм хранения таблицы — использовать оператор SHOW CREATE TABLE.
SHOW CREATE TABLE offices;
mysql> SHOW CREATE TABLE officesG; *************************** 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>
MySQL показал, что таблица offices использует механизм хранения InnoDB.
MySQL изменяет механизм хранения
Получив информацию о механизме хранения таблицы, вы можете изменить ее с помощью инструкции ALTER TABLE следующим образом:
ALTER TABLE table_name ENGINE engine_name;
Чтобы проверить, какой механизм хранения поддерживает ваш сервер MySQL, используйте оператор SHOW ENGINES следующим образом:
SHOW ENGINES;
Например, чтобы изменить механизм хранения таблицы offices с InnoDB на MyISAM, используйте следующий оператор:
ALTER TABLE offices ENGINE = 'MYISAM';
В этой статье мы показали вам, как запросить текущий механизм хранения таблицы и как изменить его на другой механизм хранения, используя инструкцию ALTER TABLE.