//
1.Archive存储引擎
Archive存储引擎只支持INSERT和SELECT操作,在MySQL5.1之前也不支持索引。Archive引擎会缓存所有的写并用zlib对插入的行进行压缩,所以比MyISAM表的磁盘I/O更少。但是每次SELECT查询都需要执行全表扫描。所以Archive表适合日志和数据采集类应用,这类应用做数据分析时往往需要全表扫描。或者在一些需要更快速的INSERT操作的场合下也可以使用。
Archive引擎支持行级锁或专用的缓冲区,所以可以实现高并发的插入。在一个查询开始知道返回表中存在的所有行数之前,Archive引擎会阻止其他的SELECT执行,以实现一致性读。另外,也实现了批量插入在完成之前对读操作是不可见的。这种机制模仿了事务和MVCC的一些特性,但Archive引擎不是一个事务型的引擎,而是一个针对高速插入和压缩做了优化的简单引擎。
2.Blackhole引擎
Blackhole引擎没有实现任何的存储机制,它会丢弃所以插入的数据,不做任何保存。但是服务器会记录Blackhole表的日志,所以可以用于复制数据库到备库,或者只是简单的记录到日志。这种特殊的存储引擎可以再一些特殊的复制架构和日志审核时发挥作用。但这种应用方式我们碰到过很多问题,因此并不推荐。
3.CSV引擎
CSV引擎可以将普通的CSV文件作为MySQL的表来处理,但这种表不支持索引。CSV引擎可以在数据库运行时拷入或者拷出文件,可以将Excel等电子表格软件中的数据存储为CSV文件,然后复制到MySQL数据目录下,就能在MySQL中打开使用。同样,如果将数据写入到一个CSV引擎表,其他的外部城西也能立即从表的数据文件中读取CSV格式数据。因此CSV引擎可以作为一种数据交换的机制,非常有用。
4.Federated引擎
Federated引擎是访问其他MySQL服务器的一个代理,它会常见一个远程MySQL服务器的客户端连接,并将查询传输到远程服务器执行,然后提取或者发送需要的数据。最初设计该存储引擎是为了和企业级数据库竞争的,可以说更多是一种市场行为。尽管该引擎看起来提供了一种很好的跨服务器的灵活性,但也经常带来很多问题,因此默认是禁用的。
5.Memory引擎
如果需要快速地访问数据,并且这些数据不会被修改,重启以后丢失也没有关系,那么使用Memory表示非常有用的,Memory表至少会比MySQL更快一个数据量,因为所有的数据都保存在内存中,不需要进行磁盘I/O。Memory表的结构在重启以后还会保留,但数据会丢失。
云南然成科技有限公司是一家定位于高端网站建设、系统开发、APP开发、软件定制的高新科技公司。我们的团队成员曾来自不同行业,拥有不同背景,公司成立之前,都在互联网行业从事相关工作多年,一直奋斗在APP开发、微信开发、系统开发、商城网站开发第一线。多年的累积是一种财富,我们擅于运用所知所得诠释他们眼中的认知,更善于站在客户的立场上去思考,跨界创新,整合设计。