SQL吧 网站源码下载 企业网站源码下载 免费网站源码下载

当前位置: 主页 > 教程 > 数据库 > Mysql教程 >

MySQL存储引擎

时间:2013-04-15 09:57来源:网络整理 作者:SQL吧 点击:
MySQL存储引擎
企业站建365全包!先制作!后付款!600多套模版任你选择!晴网www.138.la专注企业站建仿站、域名、空间、云主机、服务器, 咨询电话:020-29031983 qq:2769485357

  存储引擎,说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中,数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)。

  在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储打点机制都是一样的。而MySql数据库提供了多种存储引擎。用户可以按照不同的需求为数据表选择不同的存储引擎,用户也可以按照本身的需要编写本身的存储引擎。

  MySql中有以下存储引擎,最常用的是MyISAM和InnoDB两种存储引擎。

  1.MyISAM:这种引擎是mysql最早提供的。这种引擎又可以分为静态MyISAM、动态MyISAM 和压缩MyISAM三种:

  ◦静态MyISAM:如果数据表中的各数据列的长度都是预先固定好的,处事器将自动选择这种表类型。因为数据表中每一条记录所占用的空间都是一样的,所以这种表存取和更新的效率非常高。当数据受损时,恢复事情也比力容易做。

  ◦动态MyISAM:如果数据表中出现varchar、xxxtext或xxxBLOB字段时,处事器将自动选择这种表类型。相对付静态MyISAM,这种表存储空间比力小,但由于每条记录的长度不一,所以多次修改数据后,数据表中的数据就可能离散的存储在内存中,进而导致执行效率下降。同时,内存中也可能会出现很多碎片。因此,这种类型的表要常常用optimize table 命令或优化对象来进行碎片整理。

  ◦压缩MyISAM:以上说到的两种类型的表都可以用myisamchk对象压缩。这种类型的表进一步减小了占用的存储,但是这种表压缩之后不能再被修改。另外,因为是压缩数据,所以这种表在读取的时候要先时行解压缩。

  但是,不管是何种MyISAM表,目前它都不支持事务,行级锁和外键约束的功能。

  2.InnoDB:InnoDB表类型可以看作是对MyISAM的进一步更新产品,它提供了事务、行级锁机制和外键约束的功能。

  3.MyISAM Merge引擎:这种类型是MyISAM类型的一种变种。合并表是将几个相同的MyISAM表合并为一个虚表。常应用于日志和数据仓库。

  4.memory(heap):这种类型的数据表只存在于内存中。它使用散列索引,所以数据的存取速度非常快。因为是存在于内存中,所以这种类型常应用于姑且表中。

  5.archive:这种类型只支持select 和 insert语句,而且不支持索引。常应用于日志记录和聚合分析方面。

(责任编辑:编辑部)
顶一下
(0)
0%
踩一下
(0)
0%
0
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
栏目列表
推荐内容