Spec-Zone .ru
спецификации, руководства, описания, API
|
Когда Вы составляете новую таблицу, можно определить механизм хранения специального назначения, чтобы
использовать, добавляя ENGINE
табличная опция к CREATE TABLE
оператор:
-- ENGINE=INNODB not needed unless you have set a different default storage engine.CREATE TABLE t1 (i INT) ENGINE = INNODB;-- Simple table definitions can be switched from one to another.CREATE TABLE t2 (i INT) ENGINE = CSV;-- Some storage engines have their own specific clauses in CREATE TABLE syntax.CREATE TABLE t3 (i INT) ENGINE = MEMORY USING BTREE;
Когда Вы опускаете ENGINE
опция, механизм хранения значения по умолчанию
используется. Механизм значения по умолчанию InnoDB
в MySQL 5.7. Можно определить механизм значения по умолчанию при использовании --default-storage-engine
опция запуска сервера, или устанавливая default-storage-engine
опция в my.cnf
конфигурационный файл.
Можно установить механизм хранения значения по умолчанию для текущего сеанса, устанавливая default_storage_engine
переменная:
SET default_storage_engine=NDBCLUSTER;
Механизм хранения для TEMPORARY
таблицы, составленные с CREATE TEMPORARY TABLE
может быть установлен отдельно от механизма для постоянных
таблиц, устанавливая default_tmp_storage_engine
, или при запуске или во времени выполнения.
Когда MySQL устанавливается на Windows, используя MySQL Configuration Wizard, InnoDB
или MyISAM
механизм хранения может быть выбран
как значение по умолчанию. См.
Чтобы преобразовать таблицу от одного механизма хранения до другого, используйте ALTER TABLE
оператор, который указывает на новый механизм:
ALTER TABLE t ENGINE = InnoDB;
См. Раздел 13.1.14,"CREATE TABLE
Синтаксис", и Раздел
13.1.6,"ALTER TABLE
Синтаксис".
Если Вы пытаетесь использовать механизм хранения, который не компилируется в, или это скомпилировано в, но
деактивировано, MySQL вместо этого составляет таблицу, используя механизм хранения значения по умолчанию.
Например, в установке репликации, возможно Ваше использование главного сервера InnoDB
таблицы для максимальной безопасности, но ведомые серверы используют
другие механизмы хранения для скорости за счет длительности или параллелизма.
По умолчанию предупреждение сгенерировано всякий раз, когда CREATE TABLE
или ALTER
TABLE
не может использовать механизм хранения значения по умолчанию. Чтобы предотвратить
запутывающее, непреднамеренное поведение, если требуемый механизм недоступен, включите NO_ENGINE_SUBSTITUTION
Режим SQL. Если требуемый механизм недоступен, эта
установка производит ошибку вместо предупреждения, и таблица не составляется или изменяется. См. Раздел
5.1.7, "Режимы SQL Сервера".
Для новых таблиц MySQL всегда создает .frm
файл, чтобы содержать таблицу и
определения столбца. Таблица индексирует, и данные могут храниться в одном или более других файлах, в
зависимости от механизма хранения. Сервер создает .frm
файл выше уровня механизма
хранения. Отдельные механизмы хранения создают любые дополнительные файлы, требуемые для таблиц, которыми они
управляют. Если имя таблицы содержит специальные символы, имена для табличных файлов содержат закодированные
версии тех символов как описано в Разделе 9.2.3, "Отображение
Идентификаторов к Именам файлов".