Feature
|
MyISAM
|
InnoDB
|
Memory
|
ACID
Transaction
|
No
|
Yes
|
No
|
Configurable
ACID Properties
|
No
|
Yes
|
No
|
Crash
Safe
|
No
|
Yes
|
No
(RAM)
|
Foreign
Key Support
|
No
|
Yes
|
No
|
Multi
Version Concurrency Control (MVCC)
|
No
|
Yes
|
No
|
Geospatial
datatype
|
Yes
|
Yes
|
No
|
Geospatial
indexing
|
Yes
|
No
|
No
|
Full-text
Search Index
|
Yes
|
No
|
No
|
Data
Cache
|
No
|
Yes
|
N/A
|
Compressed
Data
|
Yes
|
Yes
|
No
|
Storage
Limits
|
256TB
|
64TB
|
RAM
|
Storage
Cost
|
Low
|
High
|
N/A
|
Memory
Cost
|
Low
|
High
|
Medium
|
Locking
Granularity
|
Table
|
Row
|
Table
|
Encrypted
Data
|
Yes
|
Yes
|
Yes
|
Replication
Support
|
Yes
|
Yes
|
Yes
|
Cluster
Database Support
|
No
|
No
|
No
|
B-Tree
Indexes
|
Yes
|
Yes
|
Yes
|
Clustered
Indexes
|
No
|
Yes
|
No
|
Advantages of InnoDB
-InnoDB should be used where data integrity comes a priority because it inherently takes care of them by the help of relationship constraints and transactions.
-Faster in write-intensive (inserts, updates) tables because it utilizes row-level locking and only hold up changes to the same row that’s being inserted or updated.
Disadvantages of InnoDB
-Because InnoDB has to take care of the different relationships between tables, database administrator and scheme creators have to take more time in designing the data models which are more complex than those of MyISAM.
-Consumes more system resources such as RAM. As a matter of fact, it is recommended by many that InnoDB engine be turned off if there’s no substantial need for it after installation of MySQL.
-No full-text indexing.
Advantages of MyISAM
-Simpler to design and create, thus better for beginners. No worries about the foreign relationships between tables.
-Faster than InnoDB on the whole as a result of the simpler structure thus much less costs of server resources.
-Full-text indexing.
-Especially good for read-intensive (select) tables.
Disadvantages of MyISAM
-No data integrity (e.g. relationship constraints) check, which then comes a responsibility and overhead of the database administrators and application developers.
-Doesn’t support transactions which is essential in critical data applications such as that of banking.
-Slower than InnoDB for tables that are frequently being inserted to or updated, because the entire table is locked for any insert or update.
No comments:
Post a Comment