My Sql Engine

MySQL Storage Engines
MySQL is very different from other databases, in that it's storage engine is pluggable, what I mean by this is that the MySQL server core code is separate from the storage engine, which means that you can have a pluggable storage engine that fits your application. MySQL has over 20 storage engines, here is a list of the common ones



Storage Engine
Transactional Support
Locking Level
Online Non-blocking Backup
Server Version(s) available
InnoDB (default)
Yes
Row
Yes
5.1, 5.5, 5.6
MyISAM/Merge
No
Table
No
5.1, 5.5, 5.6
Memory
No
Table
No
5.1, 5.5, 5.6
Marta
Yes
Row
No
5.1, 5.5, 5.6
Falcon
Yes
Row
Yes
5.6
PBXT
Yes
Row
Yes
5.1, 5.5, 5.6
FEDERATED
No
n/a
n/a
5.1, 5.5, 5.6
NDB
Yes
Row
Yes
5.1 and available in MySQL Cluster
Archive
No
Row
No
5.1, 5.5, 5.6
CSV
No
Table
No
5.1, 5.5, 5.6




MyISAM was the default engine until recently, this engine has been used since MySQL version 3.2, it is a non-transactional engine and does not implement any additional locking mechanisms, this may cause problems when you have a large number of concurrent writes to a table. If your application has a lot of write activity the writes will end up blocking the reads which will cause performance problems, thus you should use either a InnoDB or Falcon engine.


MyISAM has three files associated with it(.MYI for index file , .myd for data file , .frm for format file, because the three files represent a table they can be simply copied to another server and used, however to avoid corruption you should take down mysql server before copying. The other server must have the same endian format as the source server, so you cannot copy from linux X86 server to a Sparc server for instance.


MyISAM has the following features
  • Non-transactional
  • No foreign key support
  • FULLTEXT indexes for text matching
  • No data cache
  • Index caches can be specified by name
  • Implements both HASH and BTREE indexes
  • Table level locking
  • Very fast read activity, suitable for data warehouses
  • Compressed data (with myisampack)
  • Online backup with mysqlhotcopy
  • Maximum of 64 indexes per table


Comments

Popular posts from this blog

Install Mysql from ZIP without MySQL Installer or Exe

Logging in Python .

Dictionary in Python