欢迎来到天天文库
浏览记录
ID:22289745
大小:55.50 KB
页数:5页
时间:2018-10-28
《优化microsoft access提高速度--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、优化MICROSOFTACCESS提高速度>>摘要 这篇文章介绍了在设计、编写和实现MicrosoftAccess数据库应用程序时为保证拥有最高速度而需要注意的几点。介绍 作为一名数据库程序员,你的主要任务是让你的用户能快速地选择、管理和访问他们所需要的信息。其他的工作几乎都是一成不变的,只要你的数据库应用程序执行速度越快,你的程序效率越高。这篇文章的目的就是突出各种不同的技巧和策略,通过优化程序来提高速度,让你的MicrosoftAccess数据库应用程序的效率更高,这样也可以帮助你完成作为一名数据库开发者的主要使命。硬件 瞄准速度问题的根本
2、为了提高你的数据库程序的速度,自然而然地你会想到去注意影响速度最基本的几个部分,我们将从处理这几个部分着手。在你力图提高你的数据库程序性能的时候,你的程序所运行的硬件平台将是唯一的决定因素。显而易见,实现优化的第一条原则应该是较快的硬件=较快的数据库,当然CPU和RAM是这个等式的核心所在。相信你一定注意到MicrosoftAccess所声明的,要达到一个令人满意的性能,至少需要8MB的RAM和一个80486的CPU。一般情况下,用户注意到这一点是理所应当的,但我却见过许多用户为他们的MicrosoftAccess的执行速度而感到沮丧,当我问及他
3、们使用什么机器运行此程序时,他们告诉我是一台80386,并且是在运行一台服务器上的一个MSACCESS.EXE。所以,在相信你的用户通过下面的方法固然能提高其程序性能的同时,始终需要强调的仍然是,在MicrosoftAccess执行过程中,硬件才是关键的问题。 有效的磁盘访问 假定已经有了一个令人满意的硬件配置,下面让我们讨论一下如何才能提高MicrosoftAccess在此平台上的运行速度。就这个问题,对你的数据库程序而言,影响其性能的第二位因素就是磁盘访问了。在执行过程中,对物理磁盘的访问总是一个速度的瓶颈(与访问存储在RAM中的数据相比较而
4、言),所以,你应该尽量减少对磁盘的访问。然而,由于你的应用程序总是要和一些磁盘或其他一些物理设备打交道,所以,你的目标应该是保证所有的磁盘访问都尽可能有效。要实现这一点,方法是经常整理你的磁盘数据碎片,整理你的数据库所在的磁盘驱动器以及所有你执行你的数据库程序时要涉及的磁盘驱动器,而且你还应提醒你的用户定期清理磁盘碎片,以此保证磁盘访问一直有效。这将最大程度地减少在对物理磁盘进行读写而花费的时间,尽管这些读写是不可避免的,同时优化了整个体系的性能。 使RAM最大化/对磁盘访问的频率最小化 下一个主题是使你的数据库程序与物理磁盘驱动器打交道的频率最
5、小。要做到这一点关键是尽可能多的释放RAM空间给你的应用程序使用。要实现这一点,你需要做到以下几点: 增加最大缓冲区的尺寸 首先涉及到你对最大缓冲区尺寸的设置。最大缓冲区的尺寸指的是MicrosoftAccess作为内部存储空间而保留的RAM的数目。存储空间越大,用户需求的数据能在RAM中找到可能性越大,同时减少了对物理磁盘的访问频率。MicrosoftAccess需要的最小缓冲区是512KB,如果你的硬件系统有多于4MB的RAM,那么你就可以为MicrosoftAccess多分配一些供其使用(这样也增加了系统的性能)。要做到这一点,只需要在MS
6、ACCESS.INI(在你的db=ro”这一句之前加一个分号,这样就避免了自动加载提供给MicrosoftAccess以作己用,这样做的好处不仅在于提高了运行时间的性能,同时使每个应用程序平均减少了大约10秒的安装时间。 解除墙纸/背景位图 解除标准中任何一处25K到350K的空间。解除复杂的位图将释放更多的内存空间。 创建永久交换文件 创建一个永久交换文件(相对于临时文件而言)将增加你额外的性能。关于这一点,你可以求助于关于这方面的帮助文档,它将指导你在运行数据库应用程序的机器上创建这一文件。 到现在为止,我们已经解决了有关硬件平台、最大的磁盘
7、访问效率的问题,并且为你的应用程序增加了有效的RAM存储空间,接下来让我们转向优化应用程序本身。MicrosoftAccess自身特点 压缩、压缩 要保证经常性的压缩你的程序代码。当你在开发和使用MicrosoftAccess数据库时,你要经常性地增加和删除数据、代码等等。现在的问题是MicrosoftAccess并不能有效地释放已分配的但被删除的对象空间,这将意味着即使你删除了一个对象,而这个12下一页>>>>这篇文章来自..,。对象仍然在你的数据库中占据空间。压缩数据库将迫使MicrosoftAccess真正删除这些对象并回收其占据的空间,从
8、而使得你的数据库尽量小但却更有效。我曾把逐字逐句查询的平均时间减少了30%——50%,而做到这一点仅仅是通过去压缩那些由于经常使用又缺乏
此文档下载收益归作者所有