Memory (storage engine)

Short description: Storage engine for the MySQL relational database management systems

MEMORYDeveloper(s)| Oracle and MariaDB

|

Operating system| Cross-platform
Type| Database engine
License| GNU General Public License

MEMORY is a storage engine for MySQL and MariaDB relational database management systems, developed by Oracle and MariaDB. Before the version 4.1 of MySQL it was called Heap.

The `SHOW ENGINES` command describes MEMORY as: Hash based, stored in memory, useful for temporary tables.

MEMORY writes table data in-memory. While the table structures are persisted on-disk, the rows in MEMORY tables are lost when MySQL stops.

## Use cases

MEMORY is designed to store data that must be accessed quickly, for example caches, or intermediate data that needs to be transformed before storing it to regular tables.

In MariaDB and before MySQL 5.6, MEMORY was used for internal temporary tables, e.g. to materialize the intermediate results of a query. However, MEMORY tables don't support BLOB and TEXT types, and the user may limit the total size of MEMORY tables and temporary tables. When an internal temporary table could not be created with the MEMORY engine, it had to be created on disk, which is slower. For this reason Percona Server implemented improvements to MEMORY to support BLOB and TEXT.

In MySQL 8.0, by default the TempTable engine is used in place of MEMORY for internal temporary tables.

## See also

* Comparison of MySQL database engines

## External links

* The MEMORY Storage Engine in the MySQL documentation
* MEMORY in the MariaDB KnowledgeBase

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Memory (storage engine). Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Memory_(storage_engine)&oldid=539060"