OracleMysqL数据表类型

腾讯面试提及

参考来源: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支持之表类型不止上面几乎种植。下面我们介绍一下什么查看和安数据表类型。

相关文章