sky 发表于 2012-6-30 10:15:37

archive存储引擎

archive存储引擎一般情况下不会引起人的注意。
本文阐述下archive的几个特性:
1.只支持insert和select操作
2.5.1之前不支持索引,到5.1才支持索引
3.压缩比率非常高,一般认为1:10
4.锁机制虽然为行锁,但是本身并不支持事务,设计的目的是为了提供高速的插入和索引功能!
5.支持的索引,仅仅为auto_increment!即仅仅当该列为auto_increment时才支持索引,否则不支持任何形式的索引
6.插入速度相对myisam和innodb来说,速度较快
    archive 100w: 38.067 sec
    innodb100w: 1 MIN 27 sec
    myisam100w: 52.035 sec
    (为粗略测试!)
7.archive锁机制是行锁
8.使用场景:归档数据、日志信息(系统功能模块访问日志)
下面我们重点来说说第五点,archive的索引!因为在5.0刚刚引入archive存储引擎的时候,它是没有索引的,所以,由于当时的文章发表人,一直没有更新或是关注archive存储引擎相关的文章!导致了一个错误的观点一致在流传,那就是archive不支持索引!archive是支持索引的,只是他的索引有些特别!
只支持auto_increment的列索引.这里auto_increment很重要,如果某列为主键,但是不是auto_increment的话,archive仍旧不能建立索引!

如果archive有索引后,插入只能是由小到大!一旦间隔,想再次插入到间隔里面,则会报如下错误:Can't write; duplicate key in table 'archivetest'!

譬如:表a是archive存储引擎,有列ID为自增(即auto_increment).现在分别插入1,2,3,9 这写数字都是由小到大,插入没有问题,发现3,9中间间隔了几个,现在想插入回去;再次插入4,会发现报错:Can't write; duplicate key in table 'archivetest'!这就是archive的索引特性!这是我本文所要阐述的重点!

aa0660 发表于 2013-3-14 01:07:23

学习了,不错,讲的太有道理了

wangwengwu 发表于 2013-5-15 23:15:16

不在课堂上沉睡,就在酒桌上埋醉。

sdxh0506 发表于 2013-5-16 11:46:32

我妈常说,我们家要是没有电话就不会这么穷。

dopost 发表于 2013-5-17 01:01:27

不错不错,楼主您辛苦了。。。

tyxiayu 发表于 2013-5-17 15:43:23

佛曰,色即是空,空即是色!今晚,偶想空一下

yangcctv 发表于 2013-5-18 02:55:38

在一辆拥挤的公车上,一位女郎忽然叫了起来:别挤啦!别挤啦!把人家的奶都挤出来啦!(她拿着酸奶呢)。
页: [1]
查看完整版本: archive存储引擎