在数据库的设计过程中经常要添加、删除数据库对象,这会使数据库内部留有许多碎片,不能有效地利用磁盘空间,文件会逐渐增大。这有点象文件系统经过多次的增删操作,会导致文件碎片,浪费磁盘空间,而且读写效率降低。
你可以用 Access 提供的工具来压缩数据库,它将重新安排数据库文件在磁盘中保存的位置,并释放磁盘空间,通常文件的容量会缩小成原来的几分之一。
Access 内置了压缩数据库的功能
但 Access 文件的增大十分夸张,它可能会让文件增大十倍,让它臃肿地呆在你的硬盘里。这好象是微软的通病。你可以打开一个Word文件,添加几个空格再把它们删了(实际文件的内容没有改变),然后保存,你会发现它比刚才大了些,比如一个45k的文件经过几次这样的更改后文件大小变成49.5k→58.5k→68.5k,实在不知道往文件里面又存了些什么。所以我们有理由怀疑 Access 数据库压缩的效果。
一年以前我编了一个统计系统,用了大概3个月,几乎每天都在修改,几天就压缩一次,最后这个 Mdb 文件有20M大,即使是 Mde 文件也有8M多,我乐坏了,以为自己也能设计大型程序了。今年这个程序要升级,可是源程序让我弄丢了(心疼呀),于是下定决心,重新编了一个。功能几乎没有变,最后的 Mdb 文件大小只有2M多,我的天!简直不敢相信!原来 Access 文件改动得越多压缩得越多文件就越大,什么逻辑!
还有,如果你的 Mdb 文件太大了,可以建立一个新的空数据库,把原来的数据库全部内容都导入到这个新数据库里,再看看,文件一定小了许多。我做了一个实验,一个640k的 Mdb 文件,压缩数据库后变成240k,再建一个新数据库,把它全部导入,就只有60k了。
先谈谈DllHotst进程消耗cpu 100%的问题:
服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处
100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种
情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
直接原因:
有一个或多个ACCESS数据库在多次读写过程中损坏, MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其他线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
解决办法:
把数据库下载到本地,然后用ACCESS打开,进行修复操作。再上传到网站。如果还不行,只有新建一个ACCESS数据库,再从原来的数据库中导入所有表和记录。然后把新数据库上传到服务器上。
本页介绍简单的压缩与修复功能:
1。以问题数据库文件jit8.mdb为例,原文件大小为17.2MB 如图:
2。用本地安装的office access 2003打开此数据库文件jit8.mdb,或者直接双击数据库文件。
这个时候会弹出一个安全警告,直接点“打开”。
3。 这时候会出现关于数据库结构的视图出来:
4。执行上面的“工具” --- “数据库实用工具”---“压缩和修复数据库” 。如图:
5。 当执行完毕后,再再次回到 1。表示完成操作,可以关闭access 2003了。这个时候再看下数据库大小 如图:
怎么样,惊奇吧,原本17.2MB的数据库被这么轻易的两下减少到还有5.4MB,再传到空间里,是不是感觉速度快多了。
6。也可以借助第三方辅助工具进行压缩与修复
jsp复习资料汇总
[JSP]2017年1月24日asp教程编程辅导汇总
[ASP]2016年12月2日JSP快速入门教程汇总
[JSP]2016年12月2日jsp基本用法和命令汇总
[JSP]2016年10月3日ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日