InnoDB Enhancements and New Features To compare the features of  InnoDB  with other storage engines provided with MySQL, see the  Storage Engine Features  table in Chapter 16,  Alternative Storage Engines . For information about  InnoDB  enhancements and new features, refer to: InnoDB  tables have the following benefits: 3000 InnoDB Enhancements and New Features Additional InnoDB Information and Resources 15.1.1 Benefits of Using InnoDB Tables •The  InnoDB  enhancements list in Section 1.3, “What Is New in MySQL 8.0” . •The Release Notes. •For  InnoDB -related terms and definitions, see the MySQL Glossary. •For a forum dedicated to the  InnoDB  storage engine, see MySQL Forums::InnoDB. • InnoDB  is published under the same GNU GPL License Version 2 (of June 1991) as MySQL. For more information on MySQL licensing, see http://www.mysql.com/company/legal/licensing/. •If the server unexpectedly exits because of a hardware or software issue, regardless of what was happening in the database at the time, you don’t need to do anything special after restarting the database.  InnoDB  crash recovery automatically finalizes changes that were committed before the time of the crash, and undoes changes that were in process but not committed, permitting you to restart and continue from where you left off. See Section 15.18.2, “InnoDB Recovery” . •The  InnoDB  storage engine maintains its own buffer pool that caches table and index data in main memory as data is accessed. Frequently used data is processed directly from memory. This cache applies to many types of information and speeds up processing. On dedicated database servers, up to 80% of physical memory is often assigned to the buffer pool. See Section 15.5.1, “Buffer Pool” . •If you split up related data into different tables, you can set up foreign keys that enforce referential integrity. See Section 13.1.20.5, “FOREIGN KEY Constraints” . •If data becomes corrupted on disk or in memory, a checksum mechanism alerts you to the bogus data before you use it. The  innodb_checksum_algorithm  variable defines the checksum algorithm used by  InnoDB . •When you design a database with appropriate primary key columns for each table, operations involving those columns are automatically optimized. It is very fast to reference the primary key columns in  WHERE clauses,  ORDER BY  clauses,  GROUP BY  clauses, and join operations. See Section 15.6.2.1, “Clustered and Secondary Indexes” . •Inserts, updates, and deletes are optimized by an automatic mechanism called change buffering. InnoDB  not only allows concurrent read and write access to the same table, it caches changed data to streamline disk I/O. See Section 15.5.2, “Change Buffer” . •Performance benefits are not limited to large tables with long-running queries. When the same rows are accessed over and over from a table, the Adaptive Hash Index takes over to make these lookups even faster, as if they came out of a hash table. See Section 15.5.3, “Adaptive Hash Index” . •You can compress tables and associated indexes. See Section 15.9, “InnoDB Table and Page Compression” .