Rechercher dans le manuel MySQL
16.1 Setting the Storage Engine
When you create a new table, you can specify which storage engine
to use by adding an ENGINE
table option to the
CREATE TABLE
statement:
- -- ENGINE=INNODB not needed unless you have set a different
- -- default storage engine.
- -- Simple table definitions can be switched from one to another.
When you omit the ENGINE
option, the default
storage engine is used. The default engine is
InnoDB
in MySQL 8.0. You
can specify the default engine by using the
--default-storage-engine
server
startup option, or by setting the
default-storage-engine
option in
the my.cnf
configuration file.
You can set the default storage engine for the current session by
setting the
default_storage_engine
variable:
The storage engine for TEMPORARY
tables created
with CREATE
TEMPORARY TABLE
can be set separately from the engine
for permanent tables by setting the
default_tmp_storage_engine
,
either at startup or at runtime.
To convert a table from one storage engine to another, use an
ALTER TABLE
statement that
indicates the new engine:
See Section 13.1.20, “CREATE TABLE Syntax”, and Section 13.1.9, “ALTER TABLE Syntax”.
If you try to use a storage engine that is not compiled in or that
is compiled in but deactivated, MySQL instead creates a table
using the default storage engine. For example, in a replication
setup, perhaps your master server uses InnoDB
tables for maximum safety, but the slave servers use other storage
engines for speed at the expense of durability or concurrency.
By default, a warning is generated whenever
CREATE TABLE
or
ALTER TABLE
cannot use the default
storage engine. To prevent confusing, unintended behavior if the
desired engine is unavailable, enable the
NO_ENGINE_SUBSTITUTION
SQL mode.
If the desired engine is unavailable, this setting produces an
error instead of a warning, and the table is not created or
altered. See Section 5.1.11, “Server SQL Modes”.
MySQL may store a table's index and data in one or more other files, depending on the storage engine. Table and column definitions are stored in the MySQL data dictionary. Individual storage engines create any additional files required for the tables that they manage. If a table name contains special characters, the names for the table files contain encoded versions of those characters as described in Section 9.2.3, “Mapping of Identifiers to File Names”.
Document created the 26/06/2006, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/mysql-rf-storage-engine-setting.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.