Подтвердить что ты не робот

Как определить тип базы данных mysql: будь то InnoDB или MyISAM?

  • Как определить тип базы данных mysql: будь то InnoDB или MyISAM?
  • Как преобразовать MyISAM в InnoDB или наоборот?
4b9b3361

Ответ 1

Чтобы определить механизм хранения, используемый таблицей, вы можете использовать show table status. Поле Engine в результатах покажет механизм базы данных для таблицы. В качестве альтернативы вы можете выбрать поле Engine из information_schema.tables:

select engine 
from   information_schema.tables 
where  table_schema = 'schema_name'
   and table_name = 'table_name' 

Вы можете переключаться между системами хранения, используя alter table:

alter table the_table engine = InnoDB;

Где, конечно же, вы можете указать любой доступный механизм хранения.

Ответ 2

Выберите интересующую базу данных и запустите show table status;

Ответ 3

SHOW TABLE STATUS FROM `database`;

будет перечислять все для всех таблиц, начиная с того, являются ли они MyISAM или InnoDB. если вы хотите перечислить только данные в отношении 1 таблицы, можно использовать синтаксис ниже *:

SHOW TABLE STATUS FROM `database` LIKE 'table';

чтобы изменить движок таблицы:

ALTER TABLE `table` ENGINE=InnoDB;

* обратите внимание на GRAVE ACCENT ( "backtick" ) для имени базы данных и имени таблицы и SINGLE QUOTE (') для строки сравнения (часть имени таблицы) после LIKE.

`!= '