Общий хостинг MySQL: db - это MyISAM, хотя все созданные таблицы - InnoDB. Могу ли я переключиться? Нужно ли мне? - PullRequest
0 голосов
/ 26 ноября 2011

Мой вопрос касается типа БД, который находится на сервере Linux с общим хостингом.phpMyAdmin показывает, что БД имеет тип MyISAM.Я не думаю, что смогу это изменить.Я имею в виду, я не знаю.Все таблицы в этой базе данных имеют тип InnoDB.Имеет ли смысл менять тип БД на InnoDB?Нужно ли мне?(Я не знаю, могу ли я выбрать тип БД на сервере общего хостинга).Конечно, я могу связаться со службой поддержки и попросить их переключиться, если они могут, но я не знаю, имеет ли это какой-то смысл и есть ли плюсы.

Должен ли я позаботиться об этом?

Спасибо enter image description here.Добавлено: Изображение выше - скриншот с phpMyAdmin.

Ответы [ 2 ]

1 голос
/ 26 ноября 2011

Это механизм хранения по умолчанию на сервере. Если вы не укажете механизм хранения при создании таблицы, сервер выберет MyISAM по умолчанию

Например, на моем сервере InnoDB используется по умолчанию.

mysql> show engines\G
*************************** 1. row ***************************
      Engine: InnoDB
     Support: DEFAULT
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES

Также в ответ на ваш второй вопрос. Да, вы можете изменить механизм хранения. Вы можете сделать это с помощью команды ALTER TABLE.

ALTER TABLE mytable ENGINE=MYISAM;

Я предлагаю не менять движки хранения, если у вас нет особой необходимости в какой-либо функции в движке.

1 голос
/ 26 ноября 2011

Возможно, вы неправильно поняли, база данных не имеет механизма хранения .
Механизм хранения предназначен для таблиц.
Вы можете переключать механизм хранения только для таблиц.

Однако myisam не поддерживает транзакции,
и innodb (версия mysql <5.6) не поддерживают полнотекстовый поиск. </p>

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

Пример: -

http://demo.phpmyadmin.net/STABLE/index.php?lang=en&collation_connection=utf8_general_ci

Нижний ряд, отображаемый в phpmyadmin, эквивалентен: -

show create database YOUR_DATABASE;

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

для mysql версии 5.5, механизм хранения по умолчаниюэто изменение на innodb.

нет прямого способа изменить механизм хранения базы данных по умолчанию после создания базы данных

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

...