这些不同的技术以及配套的相关功能在 MySQL中被称作存储引擎(也称作表类型)。 MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。你可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息、如何检索这些信息以及你需要你的数据结合什么性能和功能的时候为你提供最大的灵活性。
非事务安全表:MyISAM、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等MySQL默认的存储引擎是MyISAM(7版本中默认为InnoDB)。配置文件中设置默认存储引擎的参数:default-table-type。
InnoDB具备外键支持功能的事务处理引擎MEMORY置于内存的表MERGE用来管理由多个 MyISAM 表构成的表集合MyISAM主要的非事务处理存储引擎NDBMySQL 集群专用存储引擎有几种存储引擎的名字还有同义词,例如,MRG_MyISAM 和 NDBCLUSTER 分别是 MERGE 和 NDB 的同义词。
下面是常用存储引擎的适用环境:MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
1、对于读多写少的场景,MyISAM 的性能可能更为理想,因为其对读取操作的支持更好。系统稳定性也是一个关键因素,如果担心数据恢复问题,InnoDB 的持久性和一致性可能是更好的选择,尽管恢复过程可能相对复杂。在 MySQL 5 及以后的版本中,InnoDB 已经成为默认引擎,其优势显而易见。
2、MyISAM和InnoDB的七大区别:MySQL默认采用的是MyISAM。MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交。
3、MyISAM存储引擎 MyISAM存储引擎不支持事务,不支持行级锁,只支持并发插入的表锁,主要用于高负载的select。myisam类型的表支持三种不同的存储结构:静态型、动态型、压缩型。
4、MyISAM 是MySQL缺省存贮引擎 . 每张MyISAM 表被存放在三个文件 。frm 文件存放表格定义。 数据文件是MYD (MYData) 。 索引文件是MYI (MYIndex) 引伸。
MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。你可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息、如何检索这些信息以及你需要你的数据结合什么性能和功能的时候为你提供最大的灵活性。
下面是常用存储引擎的适用环境:MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
InnoDB存储引擎:InnoDB是MySQL的默认存储引擎,它提供了事务支持、行级锁定和外键约束等功能。InnoDB适合于需要事务支持和复杂查询的应用程序。 MyISAM存储引擎:MyISAM是MySQL早期版本中常用的存储引擎,它不支持事务支持,但提供了全文搜索、表锁和全文索引等功能。