引擎 | ARCHIVE
2019-06-26 本文已影响0人
MoneyGod正本清源
mysql常用引擎MyISAM和InnoDB
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表的底层文件复制过去就可以了。