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表的底层文件复制过去就可以了。
作者:海贼之路飞
懒得敲了,就引用一下别人的话吧。