10
2009
07

ACCESS数据库体积变大问题的解决办法

今天在给客户进行站内优化的时候,发现客户网站一个奇怪的问题,再进行数据库优化之前,数据库是2M,而优化完数据后,但是数据库变成200M,网站本身数据不过千余条,一篇文章=0.5M?寻找半天终于发现解决办法:步骤如下:
菜单 -> 工具 -> 选项 -> 常规关闭时压缩   -> 前面打上勾

还有一些其他的方法,如果大家遇到相似问题,也可以看看,希望对大家有用

问题:

1、我的Access数据库里面没存多少数据,为什么体积很大,别人和我存一样的数据为什么只有我的文件体积的1/10。
2、为什么我删除了数据,但是数据库体积没有减小?
3、为什么我存了几张图片到ole字段里面数据库体积就变大,而且变大的速度超过图片的总体积?
4、为什么我的数据库没有几条记录,体积就20多MB
5、每次体积变大后都要手动压缩?有没有办法自动压缩?回答:

1、2、你只要在Access里面菜单 工具->数据库实用工具 -> 压缩修复数据库 就可以了
原因是:Access在删除记录或者进行其他需要临时数据的操作后,并不物理删除这些无用数据,只有压缩修复数据库的时候才真正删除。就象windows中将文件放进回收站中无法增加可用空间必须清空回收站是一个道理。

如何操作请参考以下 FLASH 动画:
手动压缩修复数据库。
http://access911.net/down/eg/swf/rc.htm

3、手动将文件插入ole字段的文件,实际保存在数据库中时ole引擎会在文件数据的前面增加一段信息,用于让ole引擎处理你放进去的文件,所以体积会变大。

4、请查看一下,你的数据库里面是否有包含ole字段的表,ole字段可以存储体积非常大的文件,导致体积增长很正常。再看一下你的数据库中窗体、 报表中有没有嵌入使用图片做背景。Access中的背景图片全部是以bmp图片格式存放的,即使你原先指定的是jpg格式,Access也会自动将文件格 式转换为bmp再存放。
无论是背景还是控件,只要有图片,体积就会不正常地增大。还有,如果你的程序设计成运行时会使用大量临时数据,用完了再删除的,也会造成体积暴增。

5、可以设置退出时自动压缩,步骤如下:
菜单 -> 工具 -> 选项 -> 常规关闭时压缩   -> 前面打上勾

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。