MySQL默认引擎:了解InnoDB和MyISAM的区别与选择(mysql默认引擎)
MySQL 在安装时默认使用的存储引擎是MyISAM ,同时它还支持InnoDB、MERGE、NDB等更多存储引擎,本文将讨论MyISAM和InnoDB这两个最常用的存储引擎的区别,帮助客户选择最合适的存储引擎应用在自己的数据库系统中。
首先来看一下MyISAM 和 InnoDB的不同点。 MyISAM 一般被认为速度快,但它不支持事务处理,如果程序出错,数据库可能损坏。同时,MyISAM不支持外键,因此,无法有效地维护数据的完整性。InnoDB 不但可以支持外键,而且可以支持事务处理。它允许回滚不完整的事务,这个特性可以有效解决客户程序突然终止时,导致数据库受损的情况。
MyISAM 适用于以读写的复杂应用,如数据仓库系统,但不适合事务处理系统。因此,如果用户要使用MySQL数据库开发事务处理系统,则MyISAM一般无法满足需求。同时,如果用户需要复制、同步数据,则应当使用InnoDB。
最后,如果想要实现数据库恢复,则必须使用InnoDB,因为MyISAM不支持数据库恢复,而InnoDB可以实现更高效的数据库恢复,并有效保护数据完整性。
为了准确地选择MySQL存储引擎,用户应当明确自己的业务要求,以及将要开发的技术平台,以便根据实际情况来判断选择MyISAM还是InnoDB。
例如:
— 查看MySQL支持的存储引擎
SHOW ENGINES;
— 设置MySQL 默认使用InnoDB 存储引擎
SET GLOBAL storage_engine = ‘InnoDB’;