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.
• Enabling –-low-priority-updates in the server system variables makes the
                          updates
  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 is used when MyISAM needs a variable length columns.
 It
*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 is a collection of identical myisam tables.
 Merge

*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
Ad

More Related Content

What's hot (20)

MySQL Server Settings Tuning
MySQL Server Settings TuningMySQL Server Settings Tuning
MySQL Server Settings Tuning
guest5ca94b
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017
Gianluca Hotz
 
Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practice
Eugene Fidelin
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
Ulf Wendel
 
Oracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cOracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12c
Nabeel Yoosuf
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
Tanu Siwag
 
Redis database
Redis databaseRedis database
Redis database
Ñáwrás Ñzár
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
Morgan Tocker
 
NoSql
NoSqlNoSql
NoSql
Girish Khanzode
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management Overview
René Cannaò
 
InnoDB Internal
InnoDB InternalInnoDB Internal
InnoDB Internal
mysqlops
 
InnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick FiguresInnoDB Locking Explained with Stick Figures
InnoDB Locking Explained with Stick Figures
Karwin Software Solutions LLC
 
A simple introduction to redis
A simple introduction to redisA simple introduction to redis
A simple introduction to redis
Zhichao Liang
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
NexThoughts Technologies
 
The consequences of sync_binlog != 1
The consequences of sync_binlog != 1The consequences of sync_binlog != 1
The consequences of sync_binlog != 1
Jean-François Gagné
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introduction
Pooyan Mehrparvar
 
Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rman
itsabidhussain
 
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
Jesmar Cannao'
 
Everything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to askEverything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to ask
Carlos Abalde
 
A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides
Altinity Ltd
 
MySQL Server Settings Tuning
MySQL Server Settings TuningMySQL Server Settings Tuning
MySQL Server Settings Tuning
guest5ca94b
 
Always on in sql server 2017
Always on in sql server 2017Always on in sql server 2017
Always on in sql server 2017
Gianluca Hotz
 
Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practice
Eugene Fidelin
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
Ulf Wendel
 
Oracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12cOracle Transparent Data Encryption (TDE) 12c
Oracle Transparent Data Encryption (TDE) 12c
Nabeel Yoosuf
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
Tanu Siwag
 
The InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQLThe InnoDB Storage Engine for MySQL
The InnoDB Storage Engine for MySQL
Morgan Tocker
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management Overview
René Cannaò
 
InnoDB Internal
InnoDB InternalInnoDB Internal
InnoDB Internal
mysqlops
 
A simple introduction to redis
A simple introduction to redisA simple introduction to redis
A simple introduction to redis
Zhichao Liang
 
The consequences of sync_binlog != 1
The consequences of sync_binlog != 1The consequences of sync_binlog != 1
The consequences of sync_binlog != 1
Jean-François Gagné
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introduction
Pooyan Mehrparvar
 
Backup & recovery with rman
Backup & recovery with rmanBackup & recovery with rman
Backup & recovery with rman
itsabidhussain
 
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdf
Jesmar Cannao'
 
Everything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to askEverything you always wanted to know about Redis but were afraid to ask
Everything you always wanted to know about Redis but were afraid to ask
Carlos Abalde
 
A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides
Altinity Ltd
 

Viewers also liked (13)

MySQL Storage Engines Landscape
MySQL Storage Engines LandscapeMySQL Storage Engines Landscape
MySQL Storage Engines Landscape
Colin Charles
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
Kangaroot
 
MySQL Architecture and Engine
MySQL Architecture and EngineMySQL Architecture and Engine
MySQL Architecture and Engine
Abdul Manaf
 
Perf Tuning Short
Perf Tuning ShortPerf Tuning Short
Perf Tuning Short
Ligaya Turmelle
 
Database performance tuning and query optimization
Database performance tuning and query optimizationDatabase performance tuning and query optimization
Database performance tuning and query optimization
Dhani Ahmad
 
Database Performance Tuning Introduction
Database  Performance Tuning IntroductionDatabase  Performance Tuning Introduction
Database Performance Tuning Introduction
MyOnlineITCourses
 
Performance tuning and optimization (ppt)
Performance tuning and optimization (ppt)Performance tuning and optimization (ppt)
Performance tuning and optimization (ppt)
Harish Chand
 
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Beat Signer
 
How to Design Indexes, Really
How to Design Indexes, ReallyHow to Design Indexes, Really
How to Design Indexes, Really
Karwin Software Solutions LLC
 
14. Query Optimization in DBMS
14. Query Optimization in DBMS14. Query Optimization in DBMS
14. Query Optimization in DBMS
koolkampus
 
Query optimization
Query optimizationQuery optimization
Query optimization
dixitdavey
 
Slideshare Powerpoint presentation
Slideshare Powerpoint presentationSlideshare Powerpoint presentation
Slideshare Powerpoint presentation
elliehood
 
Slideshare ppt
Slideshare pptSlideshare ppt
Slideshare ppt
Mandy Suzanne
 
MySQL Storage Engines Landscape
MySQL Storage Engines LandscapeMySQL Storage Engines Landscape
MySQL Storage Engines Landscape
Colin Charles
 
MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
Kangaroot
 
MySQL Architecture and Engine
MySQL Architecture and EngineMySQL Architecture and Engine
MySQL Architecture and Engine
Abdul Manaf
 
Database performance tuning and query optimization
Database performance tuning and query optimizationDatabase performance tuning and query optimization
Database performance tuning and query optimization
Dhani Ahmad
 
Database Performance Tuning Introduction
Database  Performance Tuning IntroductionDatabase  Performance Tuning Introduction
Database Performance Tuning Introduction
MyOnlineITCourses
 
Performance tuning and optimization (ppt)
Performance tuning and optimization (ppt)Performance tuning and optimization (ppt)
Performance tuning and optimization (ppt)
Harish Chand
 
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Query Processing and Optimisation - Lecture 10 - Introduction to Databases (1...
Beat Signer
 
14. Query Optimization in DBMS
14. Query Optimization in DBMS14. Query Optimization in DBMS
14. Query Optimization in DBMS
koolkampus
 
Query optimization
Query optimizationQuery optimization
Query optimization
dixitdavey
 
Slideshare Powerpoint presentation
Slideshare Powerpoint presentationSlideshare Powerpoint presentation
Slideshare Powerpoint presentation
elliehood
 
Ad

Similar to MySQL Storage Engines (20)

MySQL Storage Engines Basics.
MySQL Storage Engines Basics.MySQL Storage Engines Basics.
MySQL Storage Engines Basics.
Remote MySQL DBA
 
MySQL and DB Engines
MySQL  and DB EnginesMySQL  and DB Engines
MySQL and DB Engines
Compare Infobase Limited
 
MySQL
MySQLMySQL
MySQL
janova santhi
 
Learn Database Design with MySQL - Chapter 3 - My sql storage engines
Learn Database Design with MySQL - Chapter 3 - My sql storage enginesLearn Database Design with MySQL - Chapter 3 - My sql storage engines
Learn Database Design with MySQL - Chapter 3 - My sql storage engines
Eduonix Learning Solutions
 
My sql storage engines
My sql storage enginesMy sql storage engines
My sql storage engines
Vasudeva Rao
 
MySQL Performance Tuning - GNUnify 2010
MySQL Performance Tuning - GNUnify 2010MySQL Performance Tuning - GNUnify 2010
MySQL Performance Tuning - GNUnify 2010
OSSCube
 
Mysql database basic user guide
Mysql database basic user guideMysql database basic user guide
Mysql database basic user guide
PoguttuezhiniVP
 
MySQL Performance Secrets
MySQL Performance SecretsMySQL Performance Secrets
MySQL Performance Secrets
OSSCube
 
My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)
Gustavo Rene Antunez
 
Database storage engines
Database storage enginesDatabase storage engines
Database storage engines
University of Sindh, Jamshoro
 
My sql
My sqlMy sql
My sql
Samuel Sarwa Bayero
 
mysql engines
mysql enginesmysql engines
mysql engines
blus4uuu
 
MySQL Server Backup, Restoration, And Disaster Recovery Planning Presentation
MySQL Server Backup, Restoration, And Disaster Recovery Planning PresentationMySQL Server Backup, Restoration, And Disaster Recovery Planning Presentation
MySQL Server Backup, Restoration, And Disaster Recovery Planning Presentation
Colin Charles
 
Collaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAsCollaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAs
Nelson Calero
 
MySQL: Know more about open Source Database
MySQL: Know more about open Source DatabaseMySQL: Know more about open Source Database
MySQL: Know more about open Source Database
Mahesh Salaria
 
MySQL: Know more about open Source Database
MySQL: Know more about open Source DatabaseMySQL: Know more about open Source Database
MySQL: Know more about open Source Database
Mahesh Salaria
 
Mysql Introduction
Mysql IntroductionMysql Introduction
Mysql Introduction
hemant meena
 
Intro to column stores
Intro to column storesIntro to column stores
Intro to column stores
Justin Swanhart
 
MySQL database
MySQL databaseMySQL database
MySQL database
lalit choudhary
 
SHARE Virtual Flash Memory VFM VSM_04-17-19.pdf
SHARE Virtual Flash Memory VFM VSM_04-17-19.pdfSHARE Virtual Flash Memory VFM VSM_04-17-19.pdf
SHARE Virtual Flash Memory VFM VSM_04-17-19.pdf
ssuser9f7ea5
 
MySQL Storage Engines Basics.
MySQL Storage Engines Basics.MySQL Storage Engines Basics.
MySQL Storage Engines Basics.
Remote MySQL DBA
 
Learn Database Design with MySQL - Chapter 3 - My sql storage engines
Learn Database Design with MySQL - Chapter 3 - My sql storage enginesLearn Database Design with MySQL - Chapter 3 - My sql storage engines
Learn Database Design with MySQL - Chapter 3 - My sql storage engines
Eduonix Learning Solutions
 
My sql storage engines
My sql storage enginesMy sql storage engines
My sql storage engines
Vasudeva Rao
 
MySQL Performance Tuning - GNUnify 2010
MySQL Performance Tuning - GNUnify 2010MySQL Performance Tuning - GNUnify 2010
MySQL Performance Tuning - GNUnify 2010
OSSCube
 
Mysql database basic user guide
Mysql database basic user guideMysql database basic user guide
Mysql database basic user guide
PoguttuezhiniVP
 
MySQL Performance Secrets
MySQL Performance SecretsMySQL Performance Secrets
MySQL Performance Secrets
OSSCube
 
My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)
Gustavo Rene Antunez
 
mysql engines
mysql enginesmysql engines
mysql engines
blus4uuu
 
MySQL Server Backup, Restoration, And Disaster Recovery Planning Presentation
MySQL Server Backup, Restoration, And Disaster Recovery Planning PresentationMySQL Server Backup, Restoration, And Disaster Recovery Planning Presentation
MySQL Server Backup, Restoration, And Disaster Recovery Planning Presentation
Colin Charles
 
Collaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAsCollaborate 2012 - Administering MySQL for Oracle DBAs
Collaborate 2012 - Administering MySQL for Oracle DBAs
Nelson Calero
 
MySQL: Know more about open Source Database
MySQL: Know more about open Source DatabaseMySQL: Know more about open Source Database
MySQL: Know more about open Source Database
Mahesh Salaria
 
MySQL: Know more about open Source Database
MySQL: Know more about open Source DatabaseMySQL: Know more about open Source Database
MySQL: Know more about open Source Database
Mahesh Salaria
 
Mysql Introduction
Mysql IntroductionMysql Introduction
Mysql Introduction
hemant meena
 
SHARE Virtual Flash Memory VFM VSM_04-17-19.pdf
SHARE Virtual Flash Memory VFM VSM_04-17-19.pdfSHARE Virtual Flash Memory VFM VSM_04-17-19.pdf
SHARE Virtual Flash Memory VFM VSM_04-17-19.pdf
ssuser9f7ea5
 
Ad

More from Karthik .P.R (7)

Ansible for large scale deployment
Ansible for large scale deploymentAnsible for large scale deployment
Ansible for large scale deployment
Karthik .P.R
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
Karthik .P.R
 
Mydumper - Vinoth kanna @ MySQL meetup Mumbai
Mydumper - Vinoth kanna @ MySQL meetup MumbaiMydumper - Vinoth kanna @ MySQL meetup Mumbai
Mydumper - Vinoth kanna @ MySQL meetup Mumbai
Karthik .P.R
 
MySQL HA Percona cluster @ MySQL Meetup Mumbai
MySQL HA Percona cluster @ MySQL Meetup Mumbai MySQL HA Percona cluster @ MySQL Meetup Mumbai
MySQL HA Percona cluster @ MySQL Meetup Mumbai
Karthik .P.R
 
Percona tool kit for MySQL DBA's
Percona tool kit for MySQL DBA'sPercona tool kit for MySQL DBA's
Percona tool kit for MySQL DBA's
Karthik .P.R
 
Mysql from a DBA prespective
Mysql from a DBA prespectiveMysql from a DBA prespective
Mysql from a DBA prespective
Karthik .P.R
 
MySQL Query Optimization (Basics)
MySQL Query Optimization (Basics)MySQL Query Optimization (Basics)
MySQL Query Optimization (Basics)
Karthik .P.R
 
Ansible for large scale deployment
Ansible for large scale deploymentAnsible for large scale deployment
Ansible for large scale deployment
Karthik .P.R
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
Karthik .P.R
 
Mydumper - Vinoth kanna @ MySQL meetup Mumbai
Mydumper - Vinoth kanna @ MySQL meetup MumbaiMydumper - Vinoth kanna @ MySQL meetup Mumbai
Mydumper - Vinoth kanna @ MySQL meetup Mumbai
Karthik .P.R
 
MySQL HA Percona cluster @ MySQL Meetup Mumbai
MySQL HA Percona cluster @ MySQL Meetup Mumbai MySQL HA Percona cluster @ MySQL Meetup Mumbai
MySQL HA Percona cluster @ MySQL Meetup Mumbai
Karthik .P.R
 
Percona tool kit for MySQL DBA's
Percona tool kit for MySQL DBA'sPercona tool kit for MySQL DBA's
Percona tool kit for MySQL DBA's
Karthik .P.R
 
Mysql from a DBA prespective
Mysql from a DBA prespectiveMysql from a DBA prespective
Mysql from a DBA prespective
Karthik .P.R
 
MySQL Query Optimization (Basics)
MySQL Query Optimization (Basics)MySQL Query Optimization (Basics)
MySQL Query Optimization (Basics)
Karthik .P.R
 

Recently uploaded (20)

Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 

MySQL Storage Engines

  • 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. • Enabling –-low-priority-updates in the server system variables makes the updates 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 is used when MyISAM needs a variable length columns. It *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 is a collection of identical myisam tables. Merge *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
  • 24. THANK YOU 24