MySQL is internally structured in such a way that the low-level tasks of storing and managing data are implemented by the plugable storage engine architecture. MySQL AB and other companies are active in R&D to improve the offer in the storage engines spectrum. For more information about the architecture itself, refer to http://dev.mysql.com/tech-resources/articles/mysql_5.0_psea1.html.
Every time we create a table, even if we don't notice it, we are asking the MySQL server (implicitly or explicitly) to use one of the available storage engines to store our data physically.
The default and traditional storage engine is named MyISAM
. A whole chapter in the MySQL Reference Manual (http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html) describes the available engines. Our choice of storage engine can vary from table to table. There is no such thing as a perfect storage engine; we have to choose the best one according to our needs. Here are some points to consider...