的存档
存储引擎生成特殊用途的表,以非常小的占用空间存储大量未索引的数据。
表15.5 ARCHIVE存储引擎特性
功能 | 支持 |
---|---|
b -树索引 | 没有 |
备份/恢复时间点(在服务器中实现,而不是在存储引擎中实现。) | 是的 |
集群数据库支持 | 没有 |
聚集索引 | 没有 |
压缩数据 | 是的 |
数据缓存 | 没有 |
加密的数据 | 是(通过加密功能在服务器中实现。) |
外键支持 | 没有 |
全文检索索引 | 没有 |
地理空间数据类型支持 | 是的 |
地理空间索引支持 | 没有 |
散列索引 | 没有 |
索引缓存 | 没有 |
锁的粒度 | 行 |
MVCC | 没有 |
复制支持(在服务器中实现,而不是在存储引擎中实现。) | 是的 |
存储限制 | 没有一个 |
-树索引 | 没有 |
交易 | 没有 |
更新数据字典的统计信息 | 是的 |
的存档
存储引擎包含在MySQL二进制发行版中。要启用此存储引擎,如果您从源代码构建MySQL,请调用CMake与-DWITH_ARCHIVE_STORAGE_ENGINE
选择。
来检查源的存档
引擎,看看存储/存档
MySQL源代码发行版的目录。
您可以查看是否存档
存储引擎可通过显示引擎
声明。
当你创建存档
表,服务器在数据库目录中创建一个表格式文件。该文件以表名开始,并具有.frm
扩展。存储引擎创建其他文件,所有文件的名称都以表名开头。数据文件的扩展名为.ARZ
.一个.ARN
文件可能在优化操作期间出现。
的存档
引擎支持插入
,取代
,选择
,但不是删除
或更新
.它确实支持命令
操作,团
列,以及包括空间数据类型在内的基本所有数据类型(参见第11.4.1节“空间数据类型”).不支持地理空间参考系统。的存档
引擎使用行级锁定。
的存档
引擎支持AUTO_INCREMENT
列属性。的AUTO_INCREMENT
列的索引可以是唯一的,也可以是非唯一的。试图在任何其他列上创建索引都会导致错误。的存档
引擎还支持AUTO_INCREMENT
表选项创建表
语句分别指定新表的初始序列值或重置现有表的序列值。
存档
不支持将值插入AUTO_INCREMENT
列小于当前最大列值。尝试这样做会导致ER_DUP_KEY
错误。
的存档
引擎忽略了团
列,如果它们没有被请求,并在读取时扫描它们。
储存:行在插入时被压缩。的存档
引擎使用zlib
无损数据压缩(参见http://www.zlib.net/).你可以使用优化表
分析表并将其打包成较小的格式(出于使用的原因)优化表
,请参见本节稍后的内容)。该引擎还支持检查表
.有几种类型的插入被使用:
检索:在检索时,行按需解压缩;没有行缓存。一个选择
操作执行完整的表扫描选择
发生时,它会发现当前有多少行可用,并读取该行数。选择
作为一致性读取执行。注意很多选择
插入期间的语句会破坏压缩,除非只使用批量插入或延迟插入。要实现更好的压缩,可以使用优化表
或修理表
.行数存档
统计表由显示表状态
总是准确的。看到第13.7.2.4节,“优化表语句”,第13.7.2.5节“修复表声明”,第13.7.5.36节,“SHOW TABLE STATUS语句”.
额外的资源
一个专门讨论
存档
存储引擎在https://forums.10bet靠谱mysql.com/list.php?112.