Storage engines are MySQL components that handle the SQL operations for different table types. InnoDB is the default and most general-purpose storage engine and MYISAM is also one of them . Both have their advantages and disadvantages . Let's have a look at the differences between the two .
InnoDB | MyISAM |
---|---|
InnoDB has row-level locking . Locking is the technique of preventing simultaneous access to data in a database, to prevent inconsistent results. In row-level locking , a row is locked for writing to prevent other users from accessing data being while it is being updated. | MyISAM can only do full table-level locking. In table-level locking , a table is locked for writing to prevent other users from accessing data being while it is being updated. |
InnoDB supports transactions and foreign key constraints . | These features are absent in the MyISAM engine . |
InnoDB does not support FullText search indexes . | MyISAM supports full text searching . |
InnoDB has a better crash recovery . | MyISAM has a relatively low crash recovery . |