SlideShare a Scribd company logo
AN OVERVIEW TO MYSQL
STORAGE ENGINES

P.R.KARTHIK
MySQL DBA
STORAGE ENGINES
Storage engines are the programs that are integrated with a
MySQL database management to manage the data tables. MySQL
supports different storage engines that handles different tables.
Some of the important storage engines are
• MyISAM
• INNODB
• MERGE
• MEMEORY
• CSV
• EXAMPLE
• FEDRATED
• BLACKHOLE
• ARCHIVE

2
The selection of the storage engine depends on users table type and its
Purpose.
• Each engine has its own purpose.
• They have their own advantages and disadvantages.
• One can select the engine for the table even at the time of creating a table.
• There are three main factors that affects the selection of a storage engine
They are as follows
i) Transaction and concurrency
ii) Backups
iii) Special features

3
MyISAM
MyISAM is the default storage engine in Linux while installation.
• MyISAM is based on the older ISAM code.
• ISAM stands for Indexed Sequential Access Method.
• It was released by IBM.
• MySQL implements and extends ISAM as MyISAM.
• Index are used by all databases.
• It is simple to understand and implement.
• It is a non-transactional support database system.
transactional
• It has full text searching capability.
• It has good concurrency i,e) when several computations are executing
simultaneously.

4
MyISAM File Format

• If you are opting to make a table that is read more than we should
go for MyISAM
Each MyISAM table is stored in the disk as three files.
(e.g) Consider a table name INDIA.
i)INDIA.frm stores the table format.
ii)INDIA.MYD stores the data.
iii)INDIA.MYI stores the index.
• MyISAM is non-transactional support storage engine.
transactional
• It is mostly is used in web applications widely.
• It offers faster data storage and retrival.

5
LOCKING MECHANISM IN MySQL
• MyISAM uses table level locking.
• To achieve very high speed locking it uses table locking.
• MyISAM has very good speed comparing to the Innodb.
Table level enables many sessions to read a same table at a time.But issues
will arise in case during the update query. All the other queries have to until
the update is done on that table . Write lock is enabled during the updation.
• MyISAM is best suited when your table not so contented.
• The locking mechanism depends on the application and different application
needs different locking.

6
LOCKING MECHANISM
• MyISAM tables are deadlock free due to table
table-locking feature.
• If there is no lock on the table it puts the write lock on it, if
there is no write lock it puts the read lock on it.
• Table updates are given higher priority than the table retrievals so
when a lock released the table will be found available for the update
request with the write lock queue.
• Table lock contention can be analyzed using Table locks immediate and
Table locks waited
mysql> SHOW STATUS LIKE 'Table%';
+-----------------------+---------+
| Variable_name | Value |
+-----------------------+---------+
| Table_locks_immediate | 1151552 |
| Table_locks_waited | 15324 |
+-----------------------+---------+

7
• For the better performance of the system the Table locks waited
must be less.
• MyISAM tables have the concurrent inserts which enables the
reading(select) and insert of the table at the same time.
• The concurrent inserts can be enabled in server system variables.
It can enabled in the command line –concurrent_inserts=1
Disadvantages.
• If a select query takes a long time to execute and another session
issues update on the same table it will waits until the selects complete.
• If another session issues select command on the same table it have to wait
until the update completes.

8
Overcoming the disadvantages:
• Make the select statement to run faster so the lock time is reduced.
• Start the mysqld with –low-priority-updates for the storage engines using
table level locking.
updates
• Enabling –-low-priority-updates in the server system variables makes the
select statements to execute.
• Enable the high priority for the select statements.
• Set the max write lock count to low. So it makes the read locks after some
write locks.
• One can increase the speed of the MyISAM tables by tuning the slow
queries.

9
MYISAMCHK
MYISAMCHK:
• MYISAMCHK gives the information about the database tables, it checks or
repair tables. It works only with the MYISAM tables having the extension
.MYD, .MYI.
• The best practice is to take a dump pf all tables before performing the
repairing option.
• MYISAMCHK is primarily a table maintenance utility.
It performs options such as checking the tables using option -c
It performs the backup of .MYD files using option -B
It performs extended check with indexes using option -e
It unpacks the files compressed by myisampack using -u

10
MYISAMPACK
MYISAMPACK:
• It is used to generate compressed myisam tables.
• It compresses about 40-70% of the data.
70%
• This results in the better performance of the table because you have to
uncompress only the exact row only.When myisampack is running either
stop the server or enable the external locking mechanism because there
may be a chance of updation while compressing. So it better to compress
the tables with server stopped.
MYISAMPACK makes the tables into a read only format and is easy to write on
a compact disc in a compressed format.
The compressed tables can be re-build with the indexes using the MYISAMCHK
build
-rq.

11
FULL TEXT SEARCH
FULL TEXT SEARCH:
It is a built-in function for mysql that allows us to search through certain
in
tables for matches to a string.
This feature of mysql is only available for MYISAM tables only.
The full text index contains only the full name.
But the full text search will becomes slow as the tables become larger in
size.
Partitioning will decrease the index and table size.

12
TABLE STORAGE FORMATS
STORAGE FORMATS:
• MyISAM has three types of storage formats namely,
i)Fixed(static)
ii)Dynamic
iii)Compressed (made by myisampack utility)
• FIXED FORMAT:
* Each row is stored using the fixed bytes.
* Static is the simplest and the secure one and less prone to corruption.
* It has no variable length columns.
* It is easy to recover using the MyISAMCHK -r.
* It occupies more disk space than the dynamic format.

13
DYNAMIC FORMAT:
It
*It is used when MyISAM needs a variable length columns.
*It uses much less disk space then the static format.
It
*They use as much space as required.
They
*More difficult to reconstruct after crash because rows may be fragmented
into many lines.
COMPRESSED FORMAT:
*They are the read only format generated by the MyISAMPACK tool.
*They take little disk space and helpful in slow disk like CD’s.
*Compressed tables can be uncompressed using the MyISAMCHK tool.

14
MERGE STORAGE ENGINE
MERGE CHARACTERISTICS:
Merge
*Merge is a collection of identical myisam tables.
*They must have the same column and index information.
*These tables can be compressed by using the myisampack utility.
*Merge tables are stored as two files on the disk
I) .frm stores the table format.
II) .MRG contains the name of the underlying MyISAM tables.
*The underlying table and merge table must have the same number of
columns.

15
MERGE advantages:
* Performs more efficient search .
* MyISAM tables have limit while merge tables do not have limit in storage.
* Faster performance by splitting the identical tables large read only table and
then put individual money on the different disk.
MERGE disadvantages:
*FULL TEXT index can’t be used in the merge tables.
*Only identical MyISAM tables can be used for Merge tables.
Only

16
MEMORY(HEAP) STORAGE ENGINE
MEMORY ENGINE:
* The MEMORY storage engine creates tables with contents that are stored in
RAM.
* The file name begins with the table name and has an extension of .frm to
indicate that it stores the table definition.
*They are very faster as they stored in the Ram.
* when the server shuts down, all rows stored in MEMORY tables are lost.
* The server needs sufficient memory to maintain all MEMORY tables that are
in use at the same time.

17
BDB STORAGE ENGINE
BDB ENGINE:
* Sleepycat Software has provided MySQL with the Berkeley DB transactional
storage engine.
* They are also used in transaction based tables.
* Binary installation supports BDB where as in the source installation we have
configure it.
* BDB table is stored on disk in two files. An .frm file stores the table format, and
a .db file contains the table data and indexes.

* It is not possible to move BDB table because each BDB table stores in its .db file
the path to the file as it was created. This is done to enable detection of locks.

18
EXAMPLE STORAGE ENGINE
EXAMPLE ENGINE:
* The EXAMPLE storage engine is a stub engine that does nothing.
* Binary installation supports it where as in the source installation we have
configure it.
* It creates tables and stored under database dir with .frm extension.
But no file is created and no data can be stored into it.
* It is primarily of interest to developers.

19
FEDRATED STORAGE ENGINE
FEDRATED ENGINE:
*It creates tables and stored under database dir with .frm extension.
But no file is created and no data can be stored into it.
*It is a storage engine that accesses data in tables of remote databases rather
than in local tables.
*No data is stored on the local tables.
*There is no support for transactions.

20
ARCHIVE STORAGE ENGINE
ARCHIVE ENGINE:
*The ARCHIVE storage engine is used for storing large amounts of data without
indexes.
*Each ARCHIVE table is stored in the disk as three files.
(e.g) Consider a table name INDIA.
i)INDIA.frm stores the table format.
ii)INDIA.ARZ stores the data.
iii)INDIA.ARM stores the metadata.
*Binary installation supports it where as in the source installation we have
configure it.

21
CSV STORAGE ENGINE
CSV ENGINE:
*The CSV storage engine stores data in text files using comma
comma-separated
values format.
* It creates tables and stored under database dir with .frm extension having
the table format and the data file with .CSV extension.
* The data file is a plain text file.
* The CSV storage engine does not support indexing.
* It supports spread sheet applications.

22
BLACK HOLE STORAGE ENGINE
BLACK HOLE ENGINE:
* The BLACKHOLE storage engine acts as a “black hole” that accepts data but
does not store it.
* It creates tables and stored under database dir with .frm extension.
* The BLACKHOLE storage engine supports all kinds of indexes. That is, you
can include index declarations in the table definition.
* The Blackhole engine is a no-op engine. Any operations performed on a
op
table using Blackhole will have no effect.

23
THANK YOU

24

More Related Content

PPT
Scaling MySQL using Fabric
PPT
MySQL HA Percona cluster @ MySQL meetup Mumbai
PDF
MySQL Query Optimization (Basics)
PDF
Application Development with Apache Cassandra as a Service
PDF
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
PDF
MySQL as a Document Store
PDF
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
PDF
01 upgrade to my sql8
Scaling MySQL using Fabric
MySQL HA Percona cluster @ MySQL meetup Mumbai
MySQL Query Optimization (Basics)
Application Development with Apache Cassandra as a Service
Connector/J Beyond JDBC: the X DevAPI for Java and MySQL as a Document Store
MySQL as a Document Store
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
01 upgrade to my sql8

What's hot (18)

PDF
State transfer With Galera
PDF
MySQL HA
PDF
How MariaDB is approaching DBaaS
PDF
Solr cloud the 'search first' nosql database extended deep dive
PPTX
ClustrixDB: how distributed databases scale out
PDF
The Evolution of Open Source Databases
PDF
Best practices for MySQL/MariaDB Server/Percona Server High Availability
PDF
MySQL InnoDB Cluster and NDB Cluster
PDF
Building Google-in-a-box: using Apache SolrCloud and Bigtop to index your big...
PDF
Auto Europe's ongoing journey with MariaDB and open source
PDF
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
PDF
Global Data Replication with Galera for Ansell Guardian®
PDF
The Complete MariaDB Server tutorial
KEY
SortaSQL
PPTX
Operationalizing MongoDB at AOL
PDF
CosmosDB for DBAs & Developers
PPTX
What is NoSQL and CAP Theorem
PPTX
Introduction to CosmosDB - Azure Bootcamp 2018
State transfer With Galera
MySQL HA
How MariaDB is approaching DBaaS
Solr cloud the 'search first' nosql database extended deep dive
ClustrixDB: how distributed databases scale out
The Evolution of Open Source Databases
Best practices for MySQL/MariaDB Server/Percona Server High Availability
MySQL InnoDB Cluster and NDB Cluster
Building Google-in-a-box: using Apache SolrCloud and Bigtop to index your big...
Auto Europe's ongoing journey with MariaDB and open source
MariaDB 10.2 & MariaDB 10.1 by Michael Monty Widenius at Database Camp 2016 @ UN
Global Data Replication with Galera for Ansell Guardian®
The Complete MariaDB Server tutorial
SortaSQL
Operationalizing MongoDB at AOL
CosmosDB for DBAs & Developers
What is NoSQL and CAP Theorem
Introduction to CosmosDB - Azure Bootcamp 2018
Ad

Similar to MySQL Storage Engines Basics. (20)

PDF
MySQL Storage Engines
PPT
MySQL and DB Engines
PPTX
Learn Database Design with MySQL - Chapter 3 - My sql storage engines
PPTX
DOCX
My sql storage engines
PDF
Mysql database basic user guide
PPTX
Database storage engines
PPT
MySQL Performance Tuning - GNUnify 2010
PDF
My First 100 days with a MySQL DBMS (WP)
PPT
MySQL Performance Secrets
PPTX
MySQL database
PPTX
MySQL: Know more about open Source Database
PPT
MySQL Atchitecture and Concepts
PDF
Collaborate 2012 - Administering MySQL for Oracle DBAs
PPTX
What'sNnew in 3.0 Webinar
PPT
8. column oriented databases
PPT
6.2 my sql queryoptimization_part1
PPTX
MySQL: Know more about open Source Database
ODP
Mysql For Developers
MySQL Storage Engines
MySQL and DB Engines
Learn Database Design with MySQL - Chapter 3 - My sql storage engines
My sql storage engines
Mysql database basic user guide
Database storage engines
MySQL Performance Tuning - GNUnify 2010
My First 100 days with a MySQL DBMS (WP)
MySQL Performance Secrets
MySQL database
MySQL: Know more about open Source Database
MySQL Atchitecture and Concepts
Collaborate 2012 - Administering MySQL for Oracle DBAs
What'sNnew in 3.0 Webinar
8. column oriented databases
6.2 my sql queryoptimization_part1
MySQL: Know more about open Source Database
Mysql For Developers
Ad

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Electronic commerce courselecture one. Pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Programs and apps: productivity, graphics, security and other tools
Spectral efficient network and resource selection model in 5G networks
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
“AI and Expert System Decision Support & Business Intelligence Systems”
MIND Revenue Release Quarter 2 2025 Press Release
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Spectroscopy.pptx food analysis technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
20250228 LYD VKU AI Blended-Learning.pptx

MySQL Storage Engines Basics.

  • 1. AN OVERVIEW TO MYSQL STORAGE ENGINES P.R.KARTHIK MySQL DBA
  • 2. STORAGE ENGINES Storage engines are the programs that are integrated with a MySQL database management to manage the data tables. MySQL supports different storage engines that handles different tables. Some of the important storage engines are • MyISAM • INNODB • MERGE • MEMEORY • CSV • EXAMPLE • FEDRATED • BLACKHOLE • ARCHIVE 2
  • 3. The selection of the storage engine depends on users table type and its Purpose. • Each engine has its own purpose. • They have their own advantages and disadvantages. • One can select the engine for the table even at the time of creating a table. • There are three main factors that affects the selection of a storage engine They are as follows i) Transaction and concurrency ii) Backups iii) Special features 3
  • 4. MyISAM MyISAM is the default storage engine in Linux while installation. • MyISAM is based on the older ISAM code. • ISAM stands for Indexed Sequential Access Method. • It was released by IBM. • MySQL implements and extends ISAM as MyISAM. • Index are used by all databases. • It is simple to understand and implement. • It is a non-transactional support database system. transactional • It has full text searching capability. • It has good concurrency i,e) when several computations are executing simultaneously. 4
  • 5. MyISAM File Format • If you are opting to make a table that is read more than we should go for MyISAM Each MyISAM table is stored in the disk as three files. (e.g) Consider a table name INDIA. i)INDIA.frm stores the table format. ii)INDIA.MYD stores the data. iii)INDIA.MYI stores the index. • MyISAM is non-transactional support storage engine. transactional • It is mostly is used in web applications widely. • It offers faster data storage and retrival. 5
  • 6. LOCKING MECHANISM IN MySQL • MyISAM uses table level locking. • To achieve very high speed locking it uses table locking. • MyISAM has very good speed comparing to the Innodb. Table level enables many sessions to read a same table at a time.But issues will arise in case during the update query. All the other queries have to until the update is done on that table . Write lock is enabled during the updation. • MyISAM is best suited when your table not so contented. • The locking mechanism depends on the application and different application needs different locking. 6
  • 7. LOCKING MECHANISM • MyISAM tables are deadlock free due to table table-locking feature. • If there is no lock on the table it puts the write lock on it, if there is no write lock it puts the read lock on it. • Table updates are given higher priority than the table retrievals so when a lock released the table will be found available for the update request with the write lock queue. • Table lock contention can be analyzed using Table locks immediate and Table locks waited mysql> SHOW STATUS LIKE 'Table%'; +-----------------------+---------+ | Variable_name | Value | +-----------------------+---------+ | Table_locks_immediate | 1151552 | | Table_locks_waited | 15324 | +-----------------------+---------+ 7
  • 8. • For the better performance of the system the Table locks waited must be less. • MyISAM tables have the concurrent inserts which enables the reading(select) and insert of the table at the same time. • The concurrent inserts can be enabled in server system variables. It can enabled in the command line –concurrent_inserts=1 Disadvantages. • If a select query takes a long time to execute and another session issues update on the same table it will waits until the selects complete. • If another session issues select command on the same table it have to wait until the update completes. 8
  • 9. Overcoming the disadvantages: • Make the select statement to run faster so the lock time is reduced. • Start the mysqld with –low-priority-updates for the storage engines using table level locking. updates • Enabling –-low-priority-updates in the server system variables makes the select statements to execute. • Enable the high priority for the select statements. • Set the max write lock count to low. So it makes the read locks after some write locks. • One can increase the speed of the MyISAM tables by tuning the slow queries. 9
  • 10. MYISAMCHK MYISAMCHK: • MYISAMCHK gives the information about the database tables, it checks or repair tables. It works only with the MYISAM tables having the extension .MYD, .MYI. • The best practice is to take a dump pf all tables before performing the repairing option. • MYISAMCHK is primarily a table maintenance utility. It performs options such as checking the tables using option -c It performs the backup of .MYD files using option -B It performs extended check with indexes using option -e It unpacks the files compressed by myisampack using -u 10
  • 11. MYISAMPACK MYISAMPACK: • It is used to generate compressed myisam tables. • It compresses about 40-70% of the data. 70% • This results in the better performance of the table because you have to uncompress only the exact row only.When myisampack is running either stop the server or enable the external locking mechanism because there may be a chance of updation while compressing. So it better to compress the tables with server stopped. MYISAMPACK makes the tables into a read only format and is easy to write on a compact disc in a compressed format. The compressed tables can be re-build with the indexes using the MYISAMCHK build -rq. 11
  • 12. FULL TEXT SEARCH FULL TEXT SEARCH: It is a built-in function for mysql that allows us to search through certain in tables for matches to a string. This feature of mysql is only available for MYISAM tables only. The full text index contains only the full name. But the full text search will becomes slow as the tables become larger in size. Partitioning will decrease the index and table size. 12
  • 13. TABLE STORAGE FORMATS STORAGE FORMATS: • MyISAM has three types of storage formats namely, i)Fixed(static) ii)Dynamic iii)Compressed (made by myisampack utility) • FIXED FORMAT: * Each row is stored using the fixed bytes. * Static is the simplest and the secure one and less prone to corruption. * It has no variable length columns. * It is easy to recover using the MyISAMCHK -r. * It occupies more disk space than the dynamic format. 13
  • 14. DYNAMIC FORMAT: It *It is used when MyISAM needs a variable length columns. *It uses much less disk space then the static format. It *They use as much space as required. They *More difficult to reconstruct after crash because rows may be fragmented into many lines. COMPRESSED FORMAT: *They are the read only format generated by the MyISAMPACK tool. *They take little disk space and helpful in slow disk like CD’s. *Compressed tables can be uncompressed using the MyISAMCHK tool. 14
  • 15. MERGE STORAGE ENGINE MERGE CHARACTERISTICS: Merge *Merge is a collection of identical myisam tables. *They must have the same column and index information. *These tables can be compressed by using the myisampack utility. *Merge tables are stored as two files on the disk I) .frm stores the table format. II) .MRG contains the name of the underlying MyISAM tables. *The underlying table and merge table must have the same number of columns. 15
  • 16. MERGE advantages: * Performs more efficient search . * MyISAM tables have limit while merge tables do not have limit in storage. * Faster performance by splitting the identical tables large read only table and then put individual money on the different disk. MERGE disadvantages: *FULL TEXT index can’t be used in the merge tables. *Only identical MyISAM tables can be used for Merge tables. Only 16
  • 17. MEMORY(HEAP) STORAGE ENGINE MEMORY ENGINE: * The MEMORY storage engine creates tables with contents that are stored in RAM. * The file name begins with the table name and has an extension of .frm to indicate that it stores the table definition. *They are very faster as they stored in the Ram. * when the server shuts down, all rows stored in MEMORY tables are lost. * The server needs sufficient memory to maintain all MEMORY tables that are in use at the same time. 17
  • 18. BDB STORAGE ENGINE BDB ENGINE: * Sleepycat Software has provided MySQL with the Berkeley DB transactional storage engine. * They are also used in transaction based tables. * Binary installation supports BDB where as in the source installation we have configure it. * BDB table is stored on disk in two files. An .frm file stores the table format, and a .db file contains the table data and indexes. * It is not possible to move BDB table because each BDB table stores in its .db file the path to the file as it was created. This is done to enable detection of locks. 18
  • 19. EXAMPLE STORAGE ENGINE EXAMPLE ENGINE: * The EXAMPLE storage engine is a stub engine that does nothing. * Binary installation supports it where as in the source installation we have configure it. * It creates tables and stored under database dir with .frm extension. But no file is created and no data can be stored into it. * It is primarily of interest to developers. 19
  • 20. FEDRATED STORAGE ENGINE FEDRATED ENGINE: *It creates tables and stored under database dir with .frm extension. But no file is created and no data can be stored into it. *It is a storage engine that accesses data in tables of remote databases rather than in local tables. *No data is stored on the local tables. *There is no support for transactions. 20
  • 21. ARCHIVE STORAGE ENGINE ARCHIVE ENGINE: *The ARCHIVE storage engine is used for storing large amounts of data without indexes. *Each ARCHIVE table is stored in the disk as three files. (e.g) Consider a table name INDIA. i)INDIA.frm stores the table format. ii)INDIA.ARZ stores the data. iii)INDIA.ARM stores the metadata. *Binary installation supports it where as in the source installation we have configure it. 21
  • 22. CSV STORAGE ENGINE CSV ENGINE: *The CSV storage engine stores data in text files using comma comma-separated values format. * It creates tables and stored under database dir with .frm extension having the table format and the data file with .CSV extension. * The data file is a plain text file. * The CSV storage engine does not support indexing. * It supports spread sheet applications. 22
  • 23. BLACK HOLE STORAGE ENGINE BLACK HOLE ENGINE: * The BLACKHOLE storage engine acts as a “black hole” that accepts data but does not store it. * It creates tables and stored under database dir with .frm extension. * The BLACKHOLE storage engine supports all kinds of indexes. That is, you can include index declarations in the table definition. * The Blackhole engine is a no-op engine. Any operations performed on a op table using Blackhole will have no effect. 23