📜 ⬆️ ⬇️

Overview of MySQL table engines

The purpose of this article is to give a brief, very concise overview of the engines, so that the article can be used when choosing the engine at the design stage / creating / optimizing the table. It is assumed that the reader knows the essence of the question at least superficially and is able to find all the additional information himself (questions in the comments can always be asked :))

MyISAM



Static (Fixed-length) table format


Dynamic length table format


Compressed


Tips:

Recommendations: directories

InnoDB



The engine was designed specifically for large tables. The developers claim that InnoDB is the fastest of all known disk-based database engines (multiple tests confirm this)

Tips:

Recommendations: high-load sites, financial transactions
')

Merge



Recommendations: “convenient” (re) table organization

HEAP (MEMORY)



Tips:

large tables "swap" to disk and the gain is lost

Recommendations: Local calculations, time data

ARCHIVE



Recommendations: logging operations (audit, statistical data, counters)

CSV




FEDERATED



It is a “transparent” connection to another server (not replication). There are many limitations, it is planned to be able to connect to servers other than MySQL.

BLACKHOLE



Recommendations: replication optimization (master server does not write data to disk)

Trends, MySQL 6.0




References:

MySQL Documentation, Chapter 13. Storage Engines
MySQL Storage Engines by Mike Peters

Source: https://habr.com/ru/post/64851/


All Articles