MysqL数据表类型

腾讯面试提及

参考来源:http://database.51cto.com/art/201011/234306.htm

八种区别表类型

MySQL实际上匡助二种分裂的表类型.那五体系型分别是BDB、HEAP、ISAM、ME揽胜极光GE以及MyISAM。个中BDB类型单独属于一类,称为“事务安全型”(transaction-safe),别的的表类型属于第①类,称为“非事务安全型”(non-transaction-safe)。

1,ISAM数据表
mysql3.23本子在此之前的MySQL支特的唯一一种表类型,最近己经过时,MyIASM处理程库稳步取代了ISAM处理程序,那种老式的表
类型己经没有人在用了数据表在硬盘上的文件存款和储蓄格局:IASM Frm isd ism

2,MyIASM数据表
那是时下中MySQL暗中认可使用的多寡表类型。其优点是

  • 如果主机操作系统援救大尺寸文件,数据表长度就能够相当大,就能客纳更多的数据.
  • 数据表内容独立于硬件也正是说能够把数据表在机器之间自由拷贝
  • 压实了目录方面包车型的士效果
  • 提供了更好的索引键压缩效果
  • auto_incremnet能力增强
  • 勘误了对数据表的完整性检查机制
  • 协理开始展览fulltext全文本搜索

数据表在硬盘上的公文存储方式:MyISAM Frm myd myi

3,Merge数据表

那是一种把相同结构的MyIASM数据表组织为二个逻辑单元的方式

数据表在硬盘上的文书存款和储蓄格局:Merge Frm mrg

4,HEAP数据表
那是一种选取内部存款和储蓄器的数据表,而且各样数据行的长短固定,那两特性状使得那连串型数据表的探寻速度相当的慢,作为一种近期的数据表,HEAP在一些特定情景下很有用。

数据表在硬盘上的文书存储格局:Heap Frm

5,BDB数据表
那种数据表支持事务处理机制,具有优秀的产出质量

数据表在硬盘上的文件存款和储蓄格局:BDB Frm db

6,InnoDB数据表
那是方今参与MySQL的数据表类型,有不少新的特征
支撑事务处理机制
崩溃后能够及时回复
支撑外键成效,包含级联删除
负有并发功效

数据表在硬盘上的文本存款和储蓄情势:InnoDB frm

参照来源:http://www.nowamagic.net/database/db_TypeOfTable.php

同Oracle 和SQL
Server等大型数据库系统一样,MySql也是客户/服务器系统同时是单进度四线程框架结构的数据库。

MySql分化于其它数据库系统的八个重点特点是永葆插入式存储引擎。

什么样是储存引擎

存款和储蓄引擎说白了正是什么存款和储蓄数据、怎么样为存储的数量建立目录和怎么样创新、查询数据等技能的兑现方式。因为在关周全据库中数据的积存是以表的花样储存的,所以存款和储蓄引擎也能够称作表类型(即存款和储蓄和操作此表的种类)。

在Oracle 和SQL
Server等数据库中唯有一种存款和储蓄引擎,全数数据存款和储蓄管理机制都以均等的。而MySql数据库提供了二种储存引擎。用户能够根据不一致的须求为数据表选拔差别的储存引擎,用户也足以依据自身的需求编制自身的积存引擎。

MySql中有哪些存款和储蓄引擎?

  1. MyISAM:那种汽油发动机是mysql最早提供的。不管是何种MyISAM表,最近它都不支持工作,行级锁和外键约束的作用。那种外燃机又可以分为静态MyISAM、动态MyISAM
    和压缩MyISAM二种:

    • 静态MyISAM:假若数量表中的各数据列的尺寸都以先期固定好的,服务器将电动选取那种表类型。因为数据表中每一条记下所占有的长空都以一样的,所以那种表存取和更新的频率万分高。当数码受损时,恢复生机工作也正如便于做。

    • 动态MyISAM:假设数额表中出现varchar、xxxtext或xxxBLOB字段时,服务器将自行选择那种表类型。相对于静态MyISAM,那种表存款和储蓄空间相比小,但鉴于每条记下的尺寸不一,所将来往改动数据后,数据表中的多寡就或者离散的存款和储蓄在内部存款和储蓄器中,进而导致执行功效下落。同时,内部存款和储蓄器中也说不定会出现过多零碎。由此,那类别型的表要常常用optimize
      table 命令或优化工具来开始展览零散整理。

    • 压缩MyISAM:以上说到的两种档次的表都能够用myisamchk工具压缩。那连串型的表进一步减小了占有的蕴藏,然则那种表压缩之后无法再被改动。其余,因为是裁减数量,所以那种表在读取的时候要先时行解压缩。
  2. MyISAM
    Merge引擎:那连串型是MyISAM类型的一种变种。合并表是将多少个一律的MyISAM表合并为1个虚表。常采纳于日志和数据仓库。

  3. InnoDB:InnoDB表类型能够用作是对MyISAM的愈发立异产品,它提供了业务、行级锁机制和外键约束的效能。
  4. memory(heap):那连串型的多少表只存在于内部存款和储蓄器中。它选用散列索引,所以数据的存取速度相当慢。因为是存在于内存中,所以那体系型常应用于一时表中。
  5. archive:这连串型只帮衬select 和
    insert语句,而且不帮衬索引。常使用于日志记录和集合分析方面。

自然MySql扶助的表类型不止上边三种。上边大家介绍一下哪些查看和装置数据表类型。

相关文章