Storage engines
MariaDB does not directly write or read table data. Such operations are delegated to a special type of plugin called storage engines. This is the same mechanism that is used in MySQL. In fact, storage engines written for MySQL can be recompiled against MariaDB, and vice versa.
Storage engines can also support features that are not directly supported by the server. For example:
- Transactions
- Data and index caches
- Foreign keys
When we create a table, we should decide which storage engine will be used for handling the table. We can then specify it with the ENGINE
table option, as we did in the Working with Tables section:
CREATE TABLE table_name ( ... ) ENGINE = InnoDB;
The preceding clause is optional. If it is not specified, the @@storage_engine
server variable will determine the storage engine to be used. This variable can also be set per session. By default, it is set to InnoDB:
MariaDB [(none)]> SELECT @@storage_engine; +------------------+ | @@storage_engine | +-------...