使用InnoDB表的好处

原文链接https://dev.mysql.com/doc/refman/5.6/en/innodb-introduction.html


14.1 Introduction to InnoDB
14.1.1 Benefits of Using InnoDB Tables
14.1.2 Best Practices for InnoDB Tables
14.1.3 Checking InnoDB Availability
14.1.4 Testing and Benchmarking with InnoDB
14.1.5 Turning Off InnoDB


InnoDB is a general-purpose storage engine that balances high reliability and high performance. In MySQL 5.6, InnoDB is the default MySQL storage engine. Unless you have configured a different default storage engine, issuing a CREATE TABLE statement without an ENGINE= clause creates an InnoDB table.

InnoDB是一个平衡了高可靠性和高性能的一般用途的存储引擎,在MySQL5.6,InnoDB是默认的存储引擎,除非你设置了不同的默认存储引擎,通过不带有ENGINE=子句的CREATE TABLE语句创建一张InnoDB表。

InnoDB includes all the features that were part of the InnoDB Plugin for MySQL 5.1, plus new features specific to MySQL 5.5 and higher.

InnoDB包括MySQL5.1中InnoDB插件的所有特性,加上MySQL5.5和以上的新特性。

Note
The mysql and INFORMATION_SCHEMA databases that implement some of the MySQL internals still use MyISAM. In particular, you cannot switch the grant tables to use InnoDB.

实现某些内部的mysql和INFORMATION_SCHEMA数据库依然使用MyISAMySQL,通常情况下,你不能改变grant表使用InnoDB。

Key Advantages of InnoDB 关键
Its DML operations follow the ACID model, with transactions featuring commit, rollback, and crash-recovery capabilities to protect user data. See Section 14.2, “InnoDB and the ACID Model” for more information.

Row-level locking and Oracle-style consistent reads increase multi-user concurrency and performance. See Section 14.7, “InnoDB Locking and Transaction Model” for more information.

InnoDB tables arrange your data on disk to optimize queries based on primary keys. Each InnoDB table has a primary key index called the clustered index that organizes the data to minimize I/O for primary key lookups. See Section 14.6.2.1, “Clustered and Secondary Indexes” for more information.

To maintain data integrity, InnoDB supports FOREIGN KEY constraints. With foreign keys, inserts, updates, and deletes are checked to ensure they do not result in inconsistencies across different tables. See Section 14.6.1.5, “InnoDB and FOREIGN KEY Constraints” for more information.

Table 14.1 InnoDB Storage Engine Features

Feature Support
B-tree indexes Yes
Backup/point-in-time recovery (Implemented in the server, rather than in the storage engine.) Yes
Cluster database support No
Clustered indexes Yes
Compressed data Yes
Data caches Yes
Encrypted data (Implemented in the server via encryption functions. Data-at-rest tablespace encryption is available in MySQL 5.7 and later.) Yes
Foreign key support Yes
Full-text search indexes Yes (InnoDB support for FULLTEXT indexes is available in MySQL 5.6 and later.)
Geospatial data type support Yes
Geospatial indexing support Yes (InnoDB support for geospatial indexing is available in MySQL 5.7 and later.)
Hash indexes No (InnoDB utilizes hash indexes internally for its Adaptive Hash Index feature.)
Index caches Yes
Locking granularity Row
MVCC Yes
Replication support (Implemented in the server, rather than in the storage engine.) Yes
Storage limits 64TB
T-tree indexes No
Transactions Yes
Update statistics for data dictionary Yes
Feature Support

To compare the features of InnoDB with other storage engines provided with MySQL, see the Storage Engine Features table in Chapter 15, Alternative Storage Engines.

InnoDB Enhancements and New Features
For information about InnoDB enhancements and new features, refer to:

The InnoDB enhancements list in Section 1.4, “What Is New in MySQL 5.6”.

The Release Notes.

Additional InnoDB Information and Resources
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/.

 

posted @ 2018-11-26 16:30  imklutz  阅读(536)  评论(0编辑  收藏  举报