手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2012年08月28日的文章

粗心,又见粗心

有时候会用到gzip函数,只是有时候而已。。。
于是。。有些函数就会直接用上了。比如 :gzencode,gzdecode,gzcompress,gzuncompress,gzdeflate,gzinflate
在用的时候。。有些是想当然的。。。比如有Gzencode,就一定会有gzdecode吧?错。。。gzdecode暂时还没有正式版本支持,只存在于svn中,虽然手册上有。。但也说明了不能用

gzcompress与gzdeflate的区别,一个是基于RFC1950协议,一个是基于RFC1951,gzcompress因为是用的1950协议,手册上说了,它需要zlib库。gzdeflate就不需要
所以,gzcompress现在用的相对又少了一点。

好吧,现在说说我的粗心了,大家都知道Gzip压缩是有等级的(压缩软件都有,1~9,1最低压缩,9是最高压缩比),用9的话压缩出来的文件最小,但是解压的时候最耗CPU。所以一般 都是level4,其实就算是1也不错了。

粗心的就在于gzinflate的时候,想当然的将第二个参数length想成level了。结果一直在报错。居然我5分钟后才反应过来。NND,太粗心了。。。
第二个参数是length,不是level啊。

Tags: gzip

mongodb用索引与不用索引的区别

因为我mongo也是刚刚开始用,所以有一些地方的测试就不如很多专业人士了,但不代表我不能发言啊。。。

测试数据,11000左右,全部是int型字段(关于int型和字符串型,之前讲过了)
11000条,占用空间并不大,关键是看速度。。
11000条的数据的字段:id,pubdate,category_id,status,is_top,为什么只有这些字段 ?因为详细字段的Cache已经由redis实现,而redis不支持条件查询,所以将这些条件查询用mongo来代替了。你懂的。。为了速度。。。

测试开始:
1、order by id ASC  limit 25,很常见的查询吧。每页显示25条。
没有索引的时候:0.88秒左右
用了id,unique索引后,0.004,第一次的时候0.08,后面稳定在0.00x左右

2、where category_id = 1 limit 25,某个条件
无索引时:0.6秒左右
有索引:第一次0.06左右,后面稳定在0.00x(x>6),即在0.006~0.01之间

3、where category_id = xx order by pubdate limit 25
无索引:0.8,最慢的一次达到了1.5秒
有索引的时候,与条件2差不多

至此第一步测试完毕,下一步测试200万左右数据。。还没有开始。因为都是真实数据,插起来比较麻烦

Tags: mongo