Home  >  Article  >  Database  >  Access优已成忧,一年后,还是离开了秋色园了

Access优已成忧,一年后,还是离开了秋色园了

WBOY
WBOYOriginal
2016-06-07 15:43:091204browse

从上个月起,秋色园 QBlog 的数据库,已经从access+sqlite变更为sql2000+sqlite,从此,access离开了秋色园的怀抱。 该走的还是走了,秋色园在用Access一年多后,目前对本人来说,已优无可优,甚到为之担忧的地步,终于还是离开了。 下面让我们简单回顾一下

 

从上个月起,秋色园QBlog的数据库,已经从access+sqlite变更为sql2000+sqlite,从此,access离开了秋色园的怀抱。

 

该走的还是走了,秋色园在用Access一年多后,目前对本人来说,已优无可优,甚到为之担忧的地步,终于还是离开了。

 

下面让我们简单回顾一下秋色园与Access恩怨情仇(太久没写文章,不习惯写长文了):

 

恩:还记得最早秋色园使用Access,是由于秋色园是寄在朋友的godaddy的虚拟子目录下,那时候还没咋认识sqlite,因此access是最优选择,access感觉还是不错的,一开始感觉速度还是挺快的。

优点:简单实用,啥也不用想,传上去就OK了。

 

怨:随着秋色园文章量的增加,access在速度上,特别是分页速度,已经明显的力不从心,文章量越大,速度越是下降的明显,多次优化分页方法,终于速度上去了一点点,但这一点点并解决不了问题,后来换上了512M内存的vps。

缺点:经不起量(几万以上)的折磨。

 

情:虽然秋色园多次尝试换其它数据库,包括在oracle、Mysql、mssql等数据库上运行过秋色园,但由于内存实在太小,最终还是回归到access上,虽然也一度在sqlite上运行了,但没发sqlite有啥速度改善,于是一切回到了access,为并之优化打算奋斗到底。

优点:原来还好很多可优化的地方。

 

每次优化完access的问题,总多少会感觉到点优越感,弄久了,似觉的感情深了,以下回忆一下和Access优化有关的都有什么来着:

1:优化分页语句:在组合sql语句时,可以进行sql语句优化,这个好像到处都通用的,不需要分access了。
 
2:数据库分库:其实就是链接表,用链接表,的解可以在某种程度上解决一些问题。

这个分库涉及:把大量段的分离,或者表分离,尽量保持一个数据库小一点。

3:建立索引:Access也有索引的,不过我设了和没设,没感觉到有区别(不像其它数据库,设置后效果太明显)。

4:压缩数据库,用久了压一压,数据库小点,感觉还是有点用处的。

 

晕,总结了一下,才发现access没多少可优化点,以前优化都是在尽量避免和access接触,基本上是程序上的优化。

 

仇:由于Access本身并不具备多少优化点,因此,程序上根本无法100%阻挡access的写入或读取,因此,总在某一时刻,数据库死锁了,最可怕的,最后还经常出现aspnet_isapi检测到死锁,重启应用程序池,这对本来内存就小的服务器是最致命的打击,从此,我恨access。

 

缺点:当access死锁时,这是相当可怕的,因为除了重启IIS,你几乎没有其它方式可以恢复网站的正常运行。

 

补充另外一招:调用GC.Collect(),这招可以释放Access未关闭链接而链接引用丢失时造成的临时锁。

 

最后,我必须总结一下:

 

1:access本来就是桌面数据库,还是不要勉强逼它吃多线程应用。

 

2:站点有点流量的,内存一定要够大,vsp买时,内存至少得1G以上够开个sql2000,多花点钱,省N多时间。

 

3:目前秋色园QBlog运行在sql2000下+sqlite辅助,一切正常。

 

4:本来是想写文本数据库(CYQ.Data数据框架操作文本)相关的文章,没想到写着写着写成这文章了,歪了。。。

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn