MySQLMySQL 存储引擎介绍

SHOW ENGINES; -- 查看可供选用的存储引擎

注:MRG_MyISAMNDBCLUSTER 分别是 MERGE 和 NDB 的同义词。

注:MEMORY
存储引擎会将表在内存里,而不磁盘上;默认情况下,InnoDB
引擎
会把说明的数量索引囤于她的系统阐发空间里。

InnoDB 存储引擎
MySQL 的默认引擎,有以下几件功能:

  • 其表在实践提交回滚操作时凡业务安全的,可以由此创建保存点来实现一部分回滚
  • 系崩溃后可以活动还原
  • 外键和援完整性支持,包括级联删除和创新
  • 基于执行级别之锁定差不多版本本化,使得以履同时富含有追寻和创新操作的三结合条件查询时,可以呈现有大好之并发性能;
  • 从 MySQL 5.6 开始,InnoDB 支持全文检索FULLTEXT 索引

MyISAM 存储引擎

  • 当保存连年相似的字符串索引值时,它会对键进行削减。也只是开缩减相似数字索引功能(PACK_KEYS=1);
  • AUTO_INCREATMENT 提供了再多之功用;
  • 每个 MyISAM
    表都有一个标记,在执行表检查操作时叫装置。还有一个记,用于表明该表在上次运后是否受正常关闭。服务器会检讨标志并开展表修复
  • 支持全文检索FULLTEXT 索引
  • 支持空间数据类型SPATIAL 索引

MEMORY 存储引擎
memory
存储引擎会把表存储于内存里,并且表底行长度固定不更换,所以相关操作特别抢。

  • 默认情况下,MEMORY 表使用的凡散列索引——对于
    “相等比较”非常抢,对于”范围比较”非常缓慢。只适合“=”、”<=>”无绝适合”>”、”<“、ORDER
    BY 子句里
  • MEMORY
    表里的使用长固定不换的格式免克使用长度可变的数据类型
    BLOB 和 TEXT。但是得动用 VARCHAR(虽然尺寸可变,但是以
    MySQL 内部,被当做一栽长度固定不换的 CHAR 类型)。

若是一旦使用 “<“、”>” 或 BETWEEN
这样的运算符查找某个限制外的价时不时,可以应用 BTREE
索引
来替代散列索引。

NDB 存储引擎
是 MySQL 的集群仓储引擎。对于此蕴藏引擎,MySQL
服务器实际上变成了一个别进程(他们提供了对 NDB
表的造访)的集结群客服端集群节点会处理相互间的通信,从而在外存中实现对表的管住。对于实现冗余,这些表会在集群进程中为复制。内存存储提供了高性能,而集群机制则提供了高可用性,因此即使有节点发生故障,整系统啊非见面崩溃。

另存储引擎

  • ARCHIVE
    引擎
    提供了多少归档存储功能。适用于大批量存储那些”写了就非见面重复转移”的实践。可以采取
    INSERT 和 SELECT;不能够采取 DELETE 或
    UPDATE
    仓储时压缩,检索时解压。ARCHIVE 表包含一个带索引的
    AUTO_INCREMENT 列,但别列不克给索引。
  • BLACKHOLE
    引擎
    所创造的阐明,其描绘操作会被忽视朗诵操作是回去空内容。这个数据库等同于
    Unix 系统及之 /dev/null 设备
  • CSV
    引擎
    以存储数据常常,会就此逗号分隔值。对于每个表,它会于数据库目录里创建一个
    .CSV
    文件
    。这是一个常备文书文件,其中每个表行占用一个文本行,但匪支持索引
  • FEDREATED 引擎供了拜访MySQL由其他 MySQL
    服务器
    进行管理表的能力。(就是说:FEDREATED
    表的情
    事实上在远程,当创建 fedreated
    表时,需要指定同光运行在其它服务器的主机,并提供该服务器上的某个账户的用户称与密码。当要顾
    fedreated 表时,本地服务器将下是账户链接那台远程服务器。)
  • MERGE 引擎提供了一样栽将大抵独 MyISAM
    表合并为一个逻辑单元
    的伎俩。查询一个 merge
    表时,相当给查询该负有的成员表。好处:可以突破文件系统对单个
    MyISAM 表的极端要命尺寸
    所设定的范围。分区表可以替换 merge
    ,并且不见面受限于 MyISAM 表。
网站地图xml地图