w3resource logo


MySql Storage Engines

MySql Storage Engines

rating has average rating 8 out of 10. Total 21 users rated.

<<PreviousNext>>

What is a storage engine

1. A storage engine is a software which a DataBase management System uses to create, read, update and delete data from a database.

2. Storage engines are also called as DataBase Engines.

Storage engines of MySQL

Engines Description
MyISAM Default storage engine, manages non transactional tables, provides high-speed storage and retrieval, supports full text searching.
MEMORY Provides in-memory tables, formerly known as HEAP. It sores all data in RAM for faster access than storing data on disks. Useful for quick looks up of reference and other identical data.
MERGE Groups more than one similar MyISAM tables to be treated as a single table, can handle non transactional tables, included by default.
InnoDB Provides transaction-safe tables, supports FOREIGN KEY referential-integrity constraints. It supports commit, rollback, and crash-recovery capabilities to protect data. It also support row-level locking. It's "consistent nonlocking reads" increases performance when used in a multiuser environment. It stores data in clustered indexes which reduces I/O for queries based on primary keys.
BDB Provides transaction-safe tables.
EXAMPLE You can create tables with this engine, but can not store or fetch data. Purpose of this is to teach developers about how to write a new storage engine.
NDBCLUSTER Used by MySQL Cluster to implement tables that are partitioned over many computers. Works on number of Unix platforms, works on Windows experimentally.
ARCHIVE Used to store a large amount of data, does not support indexes.
CSV Stores data in Comma Separated Value format in a text file.
BLACKHOLE Accepts data to store but always returns empty.
FEDERATED Added in MySQL 5.0.3. Stores data in a remote database.

Display a list of Storage Engines supported by your MySQL installation

Command

SHOW ENGINES;

Output (taken using windows command prompt)

mysql-show-engines-command-prompt

Output (taken using MySQL query browser)

mysql-show-engines-gui

photo credit: Chris Devers via photopin cc

<<PreviousNext>>