Access数据库的弊端
作者使用Access数据库制作的网站,后来发现数据量增加,速度慢,所以大家在做网站之前一定要长远打算。
Access数据库到底能有多少条记录?,Accsee的文件大小最大能有多大?
理论上是没有限制的,但是,一般10万以上就不好用了。
access对大数据量不是支持很好,mdb文件最大的到1G就不行了,然后随便你怎么添加记录都没用,不会出错也不会有提示,但数据是加不进去了。具体的记录数则要看记录的大小了。我是十几个字段的记录,大约有50万条记录就变成这样了。
这个问题在我以前做站之前根本没多考虑,因为一般的企业站,没多少数据的,mdb文件一般不会超过一百M,但是最近我被这个问题给困扰了。
一个客户的站,3W多条记录,大小300M左右,多次压缩后还有280多M,现在速度很慢。
究其原因,分析以下两点:
1. access对大数据量不是支持很好,建站前未考虑周全。没有全面了解客户需求。对于大数据量的需要,应该考虑SQL或MYSQL数据库。即不能使用ASP+ACCSEE的版本。
2. 当初设计模块及分类有问题。 整个站就一个文章模块,其它全部都是该模块下的分类,直接导致jtbc_article表数据量过大,基本上3W多打记录全在这个表里。导致查询速度变慢。
所以,建站的时候应该把同是文章性质但不同分类的文章,建在不同的模块中,也就是克隆多个article模块,既能有效地解决如上问题,也能更好地通过模块首页模板节点index来定制不同分类各自个性化的首页。
但是现在我依然被这个问题所纠结着,因为这么多数据再重新分开模块的话也很麻烦,而且也不是最终最有效的解决方案,因为这个数据还在每天增长,至少会有十万条数据,所以ACCESS数据库应该放弃。
更重要的是我想一并把IIS也抛弃掉,直接换成PHP+MYSQL,这样服务器部署的时候就不需要再装烦人的IIS,直接apache或Nginx都可,效率要比IIS高数倍。但现在的问题是PHP版中的功能没有ASP强,这个也不是问题,因为这个站也不需要什么太强的功能,关键是希望HTML生成可以使用,但我测试的PHP版本一直无法生成静态,这才是真正困扰我的原因。