Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

access 07压缩数据库的原理是什么?

吕小荣  发表于:2010-04-08 15:30:45  
复制

  我的数据库刚设计完的时候是20M,我在access 选项里选择了“关闭数据库时压缩”,结果压缩为2M,请问access07压缩数据库的原理是什么?
  对我里面的数据有没有影响?

 

Top
王樵民 发表于:2010-04-08 15:42:01

1.首先你要了解数据库变大的原因:主要是更改数据库设计,会使数据库文件会变得越来越大。

(1)设计时Access 会创建一些临时的隐藏对象。这些对象可能保留在数据库中。
(2)删除数据库对象时,系统不自动回收该对象所占用的磁盘空间。 

2.所以,压缩数据库并不是压缩数据,而是通过清除未使用的空间来缩小数据库文件。

3.压缩数据库可以防止数据库变大而引起的执行性能变慢,防止因此造成的数据库损坏。而对数据库不会有什麼损害。



麥田 发表于:2010-04-08 19:22:37
没影响  这个是access自身的问题  多压缩修复就会小

wang decheng 发表于:2010-04-09 09:06:24

借贵地请问各位高手一个问题(access2003):

在压缩时,是否会临时产生一个db1.mdb,然后在压缩接近完成时删除?为什么有时这个临时的文件没有被删除而多出了一个db1文件?是不是机器太慢的缘故?



红尘如烟 发表于:2010-04-09 09:19:55

为Access修复压缩的过程是:在临时目录创建一个新文件,从要压缩修复的文件中读取内容,去除被标记为删除的内容,并重新组织索引等,把这些新内容保存到新文件中,这些步骤完成之后,用新文件替换原文件,你说的多出一个db1文件一般都是在最后一步即用新文件替换原文件的时候出错了而造成的

 



红尘如烟 发表于:2010-04-09 09:23:28

上面可能需要纠正一下,在临时目录创建新文件这个说法不一定正确,可能是直接将新文件创建在内存中,不过这个结论只是我个人用Access这些年的经验判断得来的,你要问标准答案得去找微软,哈哈



麥田 发表于:2010-04-09 10:13:00

同意楼上看法  学习这东西就是实用为主 

引用竹笛对access的理解:“研究如何将已掌握的ACCESS技术最大可能的用到单位中”比“研究ACCESS更有意义”

至于产生什么临时文件都不影响access的操作 



总记录:6篇  页次:1/1 9 1 :