MysqL数据表类型

腾讯面试提及

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

五种不同表类型

MySQL实际上支持五种不同的表类型.这五栽档次分别是BDB、HEAP、ISAM、MERGE以及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表合并为一个虚表。常使用为日志与数据仓库。

  3. InnoDB:InnoDB表类型可以用作是针对性MyISAM的尤其创新活,它提供了事情、行级锁机制及外键约束之功能。
  4. memory(heap):这种类型的数量表只存在吃内存中。它应用散列索引,所以数据的存取速度非常快。因为凡存被外存中,所以这种类型常应用于临时表中。
  5. archive:这种类型只支持select 和
    insert语词,而且未支持索引。常采取为日志记录以及集合分析者。

本来MySql支持之表类型不止上面几乎栽。下面我们介绍一下什么查看和安数据表类型。

网站地图xml地图