动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

MySQL存储引擎类型有哪些

08-31 17:01 71浏览
举报 T字号
  • 大字
  • 中字
  • 小字

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存储引擎

InnoDB存储引擎是MySQL数据库的缺省引擎,它管理的表具体有以下特征:

1)每个InnoDB表在数据库目录中以.frm格式文件表示;

2InnoDB表空间tablespace被用于存储表的内容;

3)提供一组用来记录事务性活动的日志文件;

4)用COMMIT(提交)、SAVEPOINT及ROLLBACK(回滚)支持事务处理;

5)提供全ACID兼容;

6)在MySQL服务器崩溃后提供自动恢复;

7)支持外键及引用的完整性,包括级联更新和删除。

3、MEMORY存储引擎

使用MEMORY存储引擎的表,其数据存储在内存中,且行的长度固定,这两个特点使得MEMORY存储引擎非常快,MEMORY存储引擎管理的表具有下列特征:

1)在数据库目录内,每个表均以.frm格式文件表示;

2)表数据及索引被存储在内存中;

3)表级锁机制;

4)不能包含TEXT或BLOB字段;

5MEMORY存储引擎以前被称为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知识库。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵1132
程序员代码小兵1132

6篇文章贡献17086字

作者相关文章更多>

推荐相关文章更多>

MySQL开发规范

达芬奇09-04 11:38

必须掌握的30种SQL语句优化

不写代码你养我啊08-23 11:30

ES(Elasticsearch)支持PB级全文搜索引擎入门教程

HelloWorld09-29 17:28

Java面试中的hadoop面试题及答案整理

兔子06-15 17:15

数据库分类之速成篇

呵呵呀06-17 18:54

发评论

举报

0/150

取消