🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
一、MySQL 引擎 什么是引擎? 引擎(Engine)是开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能。 什么是MySQL 引擎? 简单来说:MySQL存储引擎就是指表的类型以及表在计算机上的存储方式。 不同的存储引擎决定了MySQL数据库中的表可以用不同的方式来存储。我们可以根据数据的特点来选择不同的存储引擎。 二、MyISAM和InnoDB特点 InnoDB是事务型数据库的首选引擎,是目前MYSQL的默认事务型引擎,是目前最重要、使用最广泛的存储引擎。支持事务安全表(ACID),支持行锁定和外键。 MyISAM是MySQL 的引擎之一,不支持数据库事务,也不支持行级锁和外键。 如何选择InnoDB和MyISAM: 1.InnoDB:如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交和回滚。 2.MyISAM:读取数据快,空间和内存使用比较低。如果表主要是用于读取记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。 三、InnoDB和MyISAM的区别 1. InnoDB是MySQL默认的存储引擎。 2. 只有 InnoDB 支持事务,MyISAM不支持事务。 3. MyISAM不支持行级锁和外键, InnoDB支持。 4. InnoDB表的大小更加的大,用MyISAM可省很多的硬盘空间。 5. InnoDB 引擎的索引和文件是存放在一起的,找到索引就可以找到数据,是聚簇式设计。 6. MyISAM 引擎采用的是非聚簇式(即使是主键)设计,索引文件和数据文件不在同一个文件中。