access如何压缩数据库,access怎么压缩文件
内容导航:
一、如何在access中压缩当前数据库
如果想压缩数据库,可以在左上角Office图标—>管理—->压缩和修复数据库。如图所示,会在右下角显示正在压缩,按Esc键停止压缩。
二、压缩access数据库的原理
一个access数据库被压缩后变小,我想问下压缩的原理是什么,为什么压缩后会变小呢,压缩对数据库有损害么?
不好意思,我说的的压缩非你说的压缩,你说的压缩是winrar压缩吧1.首先你要了解数据库变大的原因:随着您不断添加、更新数据以及更改数据库设计,数据库文件会变得越来越大。
导致增大的因素不仅包括新数据,还包括其他一些方面: (1)Access 会创建临时的隐藏对象来完成各种任务。
有时,Access 在不再需要这些临时对象后仍将它们保留在数据库中。
(2)删除数据库对象时,系统不会自动回收该对象所占用的磁盘空间。
也就是说,尽管该对象已被删除,数据库文件仍然使用该磁盘空间。
随着数据库文件不断被遗留的临时对象和已删除对象所填充,其性能也会逐渐降低。
其症状包括:对象可能打开得更慢,查询可能比正常情况下运行的时间更长,各种典型操作通常似乎也需要使用更长时间。
2.所以,压缩数据库并不是压缩数据,而是通过清除未使用的空间来缩小数据库文件。
3.压缩数据库可以防止数据库变大而引起的执行性能变慢,防止因此造成的数据库损坏。
1.首先你要了解数据库变大的原因:随着您不断添加、更新数据以及更改数据库设计,数据库文件会变得越来越大。
导致增大的因素不仅包括新数据,还包括其他一些方面:(1)Access 会创建临时的隐藏对象来完成各种任务。
有时,Access 在不再需要这些临时对象后仍将它们保留在数据库中。
(2)删除数据库对象时,系统不会自动回收该对象所占用的磁盘空间。
也就是说,尽管该对象已被删除,数据库文件仍然使用该磁盘空间。
随着数据库文件不断被遗留的临时对象和已删除对象所填充,其性能也会逐渐降低。
其症状包括:对象可能打开得更慢,查询可能比正常情况下运行的时间更长,各种典型操作通常似乎也需要使用更长时间。
2.所以,压缩数据库并不是压缩数据,而是通过清除未使用的空间来缩小数据库文件。
3.压缩数据库可以防止数据库变大而引起的执行性能变慢,防止因此造成的数据库损坏。
而对数据库不会有什麼损害。
microsoft的access继承了一些foxbase
dbf的特点,个人估计是dbf的改进,比如foxbase说在删除数据后其实并没有真正删除,只是加上一个删除标记,在需要的时候可以用recall命令恢复这些数据,如果想彻底删除,首先需要独占访问数据表,然后使用pack命令来清除这些已经被删除的数据,可以称之为“压缩”数据表。
access也是一样,如果是文本和数字等一般数据恐怕不太明显,如果是ole对象,加入后mdb文件大小会剧增,而在删除这些数据行后文件大小并没有相应减少,日积月累这些无用的数据不光占用了大量硬盘空间,而且也会降低数据库的访问效率,这时已经没有pack命令可用了,但可以使用access的“压缩和修复数据库”(在“工具”菜单中)来将那些无用的数据清除掉。
如果你的程序使用access作为数据库,使用菜单命令来“压缩数据库”肯定是不太合适的,况且有时候需要自动来完成这个操作,所以我们需要把它用代码来完成,需要调用com对象的方法,压缩后的数据库被保存为另外一个文件,再把原文件删除(其实access自己也是这么做的),代码如下:#include
“objbase.h” //牵涉到com对象,必须包含此头文件ansistring srcmdb=”c://”;
//原文件名(压缩之前)压缩是经过一定的算法的, 例如:1111 0101 的八位二进制; 就会压缩为140+12=152 的十进制数 。
(我只是举例,实际要参考相关的资料才行) 需要使用的时候通过特定的算法将其复原,不会对数据库文件产生损害。
如果你直接打开的话,就会预先解压缩在系统的临时文件来启动程序。
三、如何使用Access数据库压缩文件
答:对于某些操作,Access分配硬盘空间时存在一些问题,比如不自动收回已用的空间,这样就造成文件很大,这可能就是你提到的问题的原因。你可以使用
菜单中的“工具(T)”|“数据库实用工具(D)”|“压缩和修复数据库(C)”(参见图1)。在有些情况下,这会产生意想不到的结果,我有一次将一个
7MB的数据库文件压缩至了只有400KB。大多数情况下,这个技巧都非常可靠,不过我还是强烈建议在压缩之前还是要先备份一下原始数据。
四、access 压缩和修复数据库为什么没有
答:ACCESS就是要经常压缩的。否则过于庞大。运行起来很慢的只要压缩方法得当,只会更好不会变坏~~ACCESS数据库在对数据的删除操作时,并不会自动减小体积,也就是说,只会增加,不会减小,这时候使用压缩和修复数据库就可以减小被已删除的记录所占的体积,对数据本身并没有影响。可以说没有什么坏处,至少我还没发现有什么不好的地方。这个操作完全可以通过FSO来在线执行。利用FSO在线压缩一定要记得在压缩前要断开所有的数据库链接,最好将数据库改名再压缩,或压缩备份数据库,不然会损坏数据。关闭查询再压缩^_^
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/113649.html