mysql存储引擎ARCHIVE
  7jPfnBIFtnum 27天前 29 0

mysql常用引擎MyISAM和InnoDB,前者插入快 查询快,后者修改快 支持事务,各有优缺点,在网上突然看到一个引擎叫ARCHIVE,还蛮特别的

这个引擎只允许插入和查询,不允许修改和删除。相当于拥有只读权限和写入权限,没有修改权限和删除权限。我突然想到这种东西有点类似于主从同步中的从库,但是又拥有写入权限,还是比较特殊的。

在一些固定死的配置中,可以用这个表,杜绝程序员或者运营等人的错误操作或者尝试修改。从根本上保证数据的安全性。当然了由于时代变化的太快了,需求 逻辑等等总是在变化,这种固定的东西很有可能受到前所未有的推翻和冲击,到时候确实需要改怎么办呢??

可以尝试将表引擎先修改为InnoDB引擎,然后修改 改好了之后再改为ARCHIVE引擎,问题是不要用索引,包括主键id等,这个表就用来存东西还是蛮好的。

这里摘抄一段别人对这个引擎的概述

文件系统存储特点:

以zlib对表数据进行压缩,磁盘I/O更少
数据存储在ARZ为后缀的文件中
Archiv存储引擎的特点

只支持insert和select操作(支持行级所和缓冲区,可以实现高并发的插入)
只允许在自增ID列上加索引
Archive表比MyISAM表要小大约75%,比支持事务处理的InnoDB表小大约83%。当数据量非常大的时候Archive的插入性能表现会较MyISAM为佳。

Archive表的性能是否可能超过MyISAM?答案是肯定的。根据MySQL工程师的资料,当表内的数据达到1.5GB这个量级,CPU又比较快的时候,Archive表的执行性能就会超越MyISAM表。因为这个时候,CPU会取代I/O子系统成为性能瓶颈。别忘了Archive表比其他任何类型的表执行的物理I/O操作都要少。

较小的空间占用也能在你移植MySQL数据的时候发挥作用。当你需要把数据从一台MySQL服务器转移到另一台的时候,Archive表可以方便地移植到新的MySQL环境,你只需将保存Archive表的底层文件复制过去就可以了。

作者:海贼之路飞

懒得敲了,就引用一下别人的话吧。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 27天前 0

暂无评论

推荐阅读
  7jPfnBIFtnum   27天前   40   0   0 存储
7jPfnBIFtnum