MySQL 默认引擎:InnoDB 的优势(mysql的默认引擎)
MySQL 默认引擎:InnoDB 的优势
MySQL中的InnoDB是MySQL的默认的存储引擎,它的特点是支持事务处理(ACID)、外键、行级锁定和多版本并发控制(MVCC)。早在2005年,MySQL就将InnoDB作为默认的存储引擎提供给用户,直到今天,它仍然是MySQL服务器的主要存储引擎,备受欢迎。
InnoDB比MySQL默认的存储引擎MyISAM表具有显著的优势,如下:
1. InnoDB支持事务处理(ACID)。它支持原子性、一致性、隔离性和持久性(atomicity, consistency, isolation, and durability),这些特性使得InnoDB已经是企业级数据库应用的标准。
“`
# 在InnoDB中创建一个表
create table tbl_test(
id int primary key auto_increment,
name varchar(30)
)
engine = InnoDB; #指定使用InnoDB存储引擎
“`
2. InnoDB支持外键,可以使用外键来约束数据,比如可以把表t1的字段b和表t2的字段a关联,相当于把t1表中b字段跟t2表中a字段绑定,同时自动维护两个表之间的关系,提高数据一致性。
“`
# 在InnoDB中定义一个外键
alter table tbl_test
add constraint fk_test foreign key (name)
references tbl_other(name)
on update cascade on delete restrict;
“`
3. InnoDB采用行级锁定,可以有效的提高并发。
4. InnoDB支持MVCC,可以有效的给数据库提供读写分离,减轻写的压力,提升读的性能。
从上面的特性可以看出,InnoDB是一个非常强大的MySQL存储引擎,它支持强大的事务和一致性,同时又具备很高的并发能力,所以才成为了MySQL中最受欢迎的存储引擎。