Linux上SQLite性能长了

2014-11-24 17:38:34 · 作者: · 浏览: 1

在许多桌面应用相关的性能当中,有两项进步非常大,一项是OpenSSL的RSA 4096位签名,性能从2.6.28到2.6.29提升了一倍,另一项是SQLite,执行12500个数据库插入操作的时间又恢复到2.6.24时代的水平,比2.6.26/27/28的100多秒的用时少了很多,只用时28秒。


SQLite这个性能很关键,是因为现在用它的软件越来越多,著名的就是Firefox,它把用户浏览历史、书签、搜索、下载等等这些记录性质的东西全部存在SQLite数据库里,性能低的话很要命。以前迫不得已只好关闭最大的用于分辨低俗危险网站的urlcassifier功能。后来发现那个著名的Awesomebar,也就是地址栏上自动地智能地匹配用户输入的功能也很要命,反应太慢,好机器可能不明显,T40这样的老机器就受不了,只好关闭匹配项到0,但又不爽,只好开到2或3,似乎要好一些。


当时Firefox 3推出时正好碰上的就是2.6.26,看来是性能正好差了,据说原因是Linux上面文件系统等等什么的问题;等到2.6.29进Debian了,再看看性能有无改善吧。


在此之前,还有人发掘出来一个SQLite操作,VACUUM命令,差不多是对数据库进行整理排序的操作,整理之后也许能快点。


上面那个Ubuntu blog上给出的是个脚本,每次启动Fx都对Profile目录下的sqlite数据库进行整理,应该是挺有用的。我的Places.sqlite现在有13MB大,整理之后小了3MB,在地址栏上用似乎是快了一点


整理命令是:sqlite3 places.sqlite 'VACUUM;' 。