# 16.5 ARCHIVE 存储引擎

档案存储引擎生成专用表,在很小的空间内存储大量未索引的数据。

表 16.5 ARCHIVE 存储引擎功能

特征 支持
B树索引
备份/时间点恢复(在服务器中实现,而不是在存储引擎中。) 是的
集群数据库支持
聚集索引
压缩数据 是的
数据缓存
加密数据 是(通过加密功能在服务器中实现。)
外键支持
全文检索索引
地理空间数据类型支持 是的
地理空间索引支持
哈希索引
索引缓存
锁定粒度
MVCC
复制支持(在服务器中实现,而不是在存储引擎中。) 是的
存储限制 没有
T-树索引
交易
更新数据字典的统计信息 是的

档案存储引擎包含在 MySQL 二进制发行版中。如果您从源代码构建 MySQL,要启用此存储引擎,请调用制作-DWITH_ARCHIVE_STORAGE_ENGINE选项。

检查源档案发动机,看看存储/归档MySQL 源代码分发的目录。

您可以检查是否档案存储引擎可与显示引擎陈述。

当你创建一个档案表,存储引擎创建名称以表名开头的文件。数据文件的扩展名为.ARZ.一个.ARN文件可能会在优化操作期间出现。

档案发动机支架插入,代替, 和选择, 但不是删除要么更新.它确实支持订购方式操作,斑点列和空间数据类型(请参阅第 11.4.1 节,“空间数据类型”)。不支持地理空间参考系统。这档案引擎使用行级锁定。

档案引擎支持自动递增列属性。这自动递增列可以有唯一或非唯一索引。尝试在任何其他列上创建索引会导致错误。这档案引擎还支持自动递增表选项在创建表语句分别指定新表的初始序列值或重置现有表的序列值。

档案不支持将值插入自动递增列小于当前最大列值。尝试这样做会导致ER_DUP_KEY (opens new window)错误。

档案引擎忽略斑点如果没有请求它们,则在阅读时扫描它们。

档案存储引擎不支持分区。

**贮存:**行在插入时被压缩。这档案发动机用途zlib无损数据压缩(见http://www.zlib.net/ (opens new window))。您可以使用优化表分析表格并将其打包成更小的格式(出于使用的原因优化表,见本节后面)。该引擎还支持检查表.使用了几种类型的插入:

  • 一个插入语句只是将行推入压缩缓冲区,并根据需要刷新该缓冲区。插入缓冲区受锁保护。一种选择强制冲洗发生。

  • 批量插入仅在完成后才可见,除非同时发生其他插入,在这种情况下可以部分看到它。一种选择除非在加载时发生正常插入,否则绝不会导致批量插入刷新。

恢复:检索时,行按需解压缩;没有行缓存。一种选择操作执行完整的表扫描:当一个选择发生时,它会找出当前可用的行数并读取该行数。选择作为一致读取执行。请注意,很多选择插入期间的语句会降低压缩性能,除非只使用批量插入。为了实现更好的压缩,您可以使用优化表要么维修台.中的行数档案报告的表格显示表状态总是准确的。看第 13.7.3.4 节,“优化 TABLE 语句”,第 13.7.3.5 节,“REPAIR TABLE 语句”, 和第 13.7.7.38 节,“SHOW TABLE STATUS 语句”.

# 其他资源