在MySQL在数据库中,表类型可以称为存储引擎,有不同的数据,自然也有不同的数据MySQL存储引擎类型,选择相应的存储引擎类型可以改进数据查询和数据库前面已经介绍了效率MySQL存储引擎的基本概念,下面介绍MySQL存储引擎的类型。
其实常用的MySQL存储引擎有多种类型以下四种,分别为MyISAM存储引擎,InnoDB存储引擎,MEMORY存储引擎,MERGE存储引擎,小编带大家深入的学习吧!!
1.、MyISAM存储引擎
MyISAM引擎是MySQL数据库中最常用的,其管理表具有以下特点:
(1)用三个文件表示每个表:A.格式文件——存储表的结构(mytable.frm);B.数据文件——存储表的数据(mytable.MYD);C.索引文件——存储表的索引(mytable.MYI)
(2)灵活的AUTO_INCREMENT字段处理;
(3)可转换为压缩,只读表,节省空间。
2. InnoDB存储引擎
MySQL数据库缺少InnoDB存储引擎,其管理表具有以下特点:
(1)每个InnnoDB表在数据库目录中.frm格式文件表示;
(2)用于存储InnnoDB表空间tablespace的内容;
(3)提供一组记录事务活动的日志文件;
(4)用COMMIT(提交)、SAVEPOINTROLLBACK(回滚)支持事务处理;
(5)提供全ACID兼容;
(6)在MySQL服务器崩溃后提供自动恢复;
(7)支持外键和引用的完整性,包括级联更新和删除。
3、MEMORY存储引擎
使用MEMORY存储引擎的数据存储在内存中,行长固定。这两个特点使MEMORY存储引擎非常快。MEMORY存储引擎管理表具有以下特点:
(1)在数据库目录中,每个表都是.frm格式文件表示;
(2)存储在内存中的表数据和索引;
(3)表级锁机制;
(4)不能包含TEXT或BLOB字段;
(5)MEMORY存储引擎以前被称为HEAP引擎。
4、MERGE存储引擎
MERGE存储引擎是MyISAM表的组合,这些MyISAM表的结构必须完全相同,虽然它不如其他引擎好,但在某些情况下非常有用。Merge表是几个相同的MyISAM表的聚合器;Merge表中没有数据,可以查询、更新和删除Merge类型的表。这些操作实际上是操作内部MyISAM表。
场景:对于服务器日志的信息,常用的存储策略是将数据分成多个表,每个名称都与特定的时间端有关。例如:可以使用服务器日志数据存储在12个相同的表中,每个表以每个月对应的名称命名。有必要根据所有12个日志数据生成报表,这意味着需要编写和更新多表查询,以反映这些表中的信息。与其编写这些可能出现错误的查询,不如在不影响原始数据的情况下,将这些表合并使用查询,然后删除Merge表。删除Merge表只是删除Merge表的定义,对内部表没有影响。
常用的MySQL存储引擎是以上四种,每个人都应该根据不同的场景选择合适的存储引擎:
MyISAM表最适合大量数据读取和少量数据更新的混合操作。MyISAM表的另一种适用情况是使用压缩中读表;
如果查询中包含更多的数据更新操作,则应使用它InnoDB。行级锁机制和多版本的支持为数据读取和更新的混合提供了良好的并发机制;
可使用MEMORY存储引擎存储不必要的数据,或者可以从基于磁盘的表中重新生成的数据。
通过上面对介绍MySQL存储引擎的类型,我们必须学习更多关于MySQL存储引擎的知识,并进一步掌握MySQL数据库的知识。我希望你能在本文的基础上学习更多更深入的MySQL存储引擎,丰富你的java知识库。