• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ARCHIVE存储引擎

    ARCHIVE存储引擎产生大量未索引数据存储在一个非常小的足迹专用表。

    ARCHIVE存储引擎功能

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

    ARCHIVE存储引擎包含在MySQL二进制分发。如果从源代码构建MySQL,则要启用此存储引擎,请使用-DWITH_ARCHIVE_STORAGE_ENGINE选项调用CMake

    要检查ARCHIVE引擎的源代码,请参见storage/archiveMySQL源代码分发目录。

    您可以ARCHIVE使用该SHOW ENGINES语句检查存储引擎是否可用。

    创建ARCHIVE表时,存储引擎会创建名称以表名开头的文件。数据文件的扩展名为.ARZ。在.ARN优化过程中操作文件可能会出现。

    ARCHIVE引擎支持INSERTREPLACESELECT,而不是DELETEUPDATE。它确实支持ORDER BY操作,BLOB列和空间数据类型(请参见“空间数据类型”)。不支持地理空间参考系统。该ARCHIVE发动机采用了行级锁。

    ARCHIVE引擎支持AUTO_INCREMENTcolumn属性。该AUTO_INCREMENT列可以具有唯一索引或非唯一索引。尝试在任何其他列上创建索引会导致错误。该ARCHIVE发动机还支持AUTO_INCREMENT在表选项CREATE TABLE语句来指定一个新的表中的初始序列值或者,重置序列值分别为现有的表。

    ARCHIVE不支持将AUTO_INCREMENT小于当前最大列值的值插入到列中。尝试这样做会导致ER_DUP_KEY错误。

    ARCHIVE引擎将忽略BLOB列,如果没有要求,并扫描他们过去在阅读它们。

    ARCHIVE存储引擎不支持分区。

    存储:插入行时会对其进行压缩。该ARCHIVE引擎使用zlib无损数据压缩(请参阅 http://www.zlib.net/)。您可以OPTIMIZE TABLE用来分析表格并将其打包为较小的格式(出于使用原因OPTIMIZE TABLE,请参阅本节后面的内容)。该引擎还支持CHECK TABLE。有几种插入类型:

    • 一条INSERT语句仅将行压入压缩缓冲区,然后根据需要刷新该缓冲区。插入缓冲区受锁保护。一个SELECT部队发生平齐。
    • 批量插入仅在完成后才可见,除非其他插入同时发生,在这种情况下可以部分看到。SELECT除非加载时发生普通插入,否则A 绝不会引起批量插入的刷新。

    检索:检索时,按需解压缩行;没有行缓存。一个SELECT操作执行完整的表扫描:当SELECT发生a时,它将找出当前可用的行数并读取该行数。SELECT被执行为一致读取。请注意SELECT,除非仅使用批量插入,否则插入期间的大量语句可能会使压缩性能恶化。为了获得更好的压缩效果,可以使用OPTIMIZE TABLEREPAIR TABLEARCHIVE报告的表中的行数SHOW TABLE STATUS始终准确。请参见“ OPTIMIZE TABLE语句”,“ REPAIR TABLE语句”和“ SHOW TABLE STATUS语句”。