The storage engine (storage-engine) is responsible for
storing, managing and retrieving information from a table. The best known
engines are MyISAM and InnoDB. Choosing one or the other will depend a lot on
the scenario where it is applied, but Arsys wants to help us get to know these
well-known storage engines better. The choice is intended to achieve the best
quality ratio in accordance with our application. If we need transactions,
foreign keys and locks, we will have to choose InnoDB. On the contrary, we will
choose MyISAM in those cases in which SELECT queries to the database
predominate.
InnoDB was
designed for maximum performance when processing large volumes of data.
Probably no other on-disk relational database engine matches its CPU
efficiency.
Despite being
fully integrated with the MySQL server, the InnoDB storage engine maintains its
own buffer pool to cache data and indexes in main memory. InnoDB stores its
tables and indexes in a table space, which can consist of several files (or
disk partitions). This differs from, for example, the MyISAM engine, 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.
InnoDB
provides MySQL with a transactional (ACID-compliant) storage engine with
commit, rollback, and failover capabilities. InnoDB performs row-level locking
and also provides Oracle-style lock-free consistent reading functions in SELECT
statements. These features increase performance and the ability to manage
multiple simultaneous users. A scaled lock is not needed in InnoDB because
row-level locks take up very little space. InnoDB also supports FOREIGN KEY
constraints. In SQL queries, even within the same query, InnoDB type tables can
be freely included with tables of other types.
Comentarios
Publicar un comentario