- The big difference between MySQL Table Type MyISAM and InnoDB is that InnoDB supports transaction
- InnoDB supports some newer features: Transactions, row-level locking, foreign keys
- InnoDB is for high volume, high performance
Most people use MyISAM if they need speed and InnoDB for data integrity. You can use more than one or any combination of these table types in your database. Remember to asses the needs of your application before building it. Even though MyISAM is faster than InnoDB in the MySQL world, InnoDB is fast compared to any database engine.With InnoDB you get transactions, speed and integrity three features not usually used in the same sentence.
InnoDB vs MyISAM
Here are a few of the major differences between InnoDB and MyISAM:
- InnoDB has row-level locking. MyISAM only has full table-level locking.
- InnoDB has what is called referential integrity which involves supporting foreign keys (RDBMS) and relationship constraints, MyISAM does not (DMBS).
- InnoDB supports transactions, which means you can commit and roll back. MyISAM does not.
- InnoDB is more reliable as it uses transactional logs for auto recovery. MyISAM does not.
InnoDB
has been designed for maximum performance when processing large data volumes. Its CPU efficiency is probably not matched by any other disk-based relational database engine.
Fully integrated with MySQL Server, the InnoDB
storage engine maintains its own buffer pool for caching data and indexes in main memory. InnoDB
stores its tables and indexes in a tablespace, which may consist of several files (or raw disk partitions). This is different from, for example, MyISAM
tables where each table is stored using separate files. InnoDB
tables can be of any size even on operating systems where file size is limited to 2GB.
So, what do you think about those engines?? Please feel free to discuss it.
For more information visit http://dev.mysql.com/
How to Convert MyISAM to Innodb Engine through phpmyadmin
You can convert from MyISAM to InnoDB in phpMyAdmin with just a few clicks. To convert your data tables from MyISAM to InnoDB in phpMyAdmin, you will select the table, click the “Operations” tab, and then choose InnoDB from the drop down box next to the “Storage Engine” type. Click “Go” and you are done!