优化ACCESS提高速度
时间:2007-12-23 来源:不详 作者:迈克DB
避免装载wizards
为了释放更多的内存以供microsoft access使用,另一个你可以采取的步骤是:假如你不使用wizards,那么就不要装载它。你可以打开msaccess.ini文件,找到[libraries]部分,在“wizards.mdb=ro”这一句之前加一个分号,这样就避免了自动加载wizards。这样做将能够释放315b的ram提供给microsoft access以作己用,这样做的好处不仅在于提高了运行时间的性能,同时使每个应用程序平均减少了大约10秒的安装时间。
解除墙纸/背景位图
解除标准windows墙纸背景可以释放ram中任何一处25k到350k的空间。解除复杂的位图将释放更多的内存空间。
创建永久交换文件
创建一个永久交换文件(相对于临时文件而言)将增加你额外的性能。关于这一点,你可以求助于关于这方面的帮助文档,它将指导你在运行应用程序的机器上创建这一文件。
到现在为止,我们已经解决了有关硬件平台、最大的磁盘访问效率的问题,并且为你的应用程序增加了有效的ram存储空间,接下来让我们转向优化应用程序本身。
microsoft access自身特点
压缩、压缩
要保证经常性的压缩你的程序代码。当你在开发和使用microsoft access时,你要经常性地增加和删除数据、代码等等。现在的问题是microsoft access并不能有效地释放已分配的但被删除的对象空间,这将意味着即使你删除了一个对象,而这个对象仍然在你的中占据空间。压缩将迫使microsoft access真正删除这些对象并回收其占据的空间,从而使得你的尽量小但却更有效。我曾把逐字逐句查询的平均时间减少了30%——50%,而做到这一点仅仅是通过去压缩那些由于经常使用又缺乏压缩而变得过度膨胀的程序,因此,在运行程序的过程中,不要忽视压缩过程的重要性。正如你要定期清除硬盘数据碎片一样,你和你的用户也应当定期压缩来保证它始终最有效地运行。
dedecms.com
只用代码
你可能希望通过宏操作来搭建一个应用程序的模型,一旦你开始优化你的程序的最终性能,一定要把所有的宏重新写成代码。这主要是因为microsoft access代码要比宏运行得快的多。但遗憾的是有三个宏操作你不能将他们改写成代码,这三个宏是autokeys、autoexec和addmenu操作,这三个宏在microsoft access中没有相应的等价类,因此你只能被迫使用他们。不过,你可以克服autoexec的限制,只需要定义autoexec为调用你的access basic autoexec函数。
优化数据类型声明
当你在你的代码中声明数据类型时,你应该试着尽可能精确。因为若是一个变量的类型(假如没有非凡声明,缺省为可变类型)非常灵活自由的话,那么这种类型同时也将是最浪费内存的一种类型。这样一来,假如你知道check balance这个变量不需要超过4位小数精度的话,那么就把它定义成确定类型而不是可变类型。对你的过程函数的定义同样也可以如此操作(比如说,把函数postcredit()声明为整形,而不是function postcredit())。请注重这样一个事实,假如你估计一个变量将会被处理成一个空值,那么你需要去把它定义成一个可变类型而不是一个确定的严格的数据类型,否则你会得到一个错误信息。同样地,要注重整形除法和浮点除法之间的差别。
dedecms.com
经常使用from/report变量
在你的程序中,你需要保证你能提前解决尽可能多的查询工作。这意味着什么呢?举个例子来说明:假如你想在代码中查阅一个名为[netprice]的文本框,你可以使用这样一条语句:
mytemprariable=forms![customer invoice]![net price]
对于这条指令,microsoft access首先在forms对象里搜索名为[customer invoice]的表,一旦它找到这张表,microsoft access接下来寻找名为[netprice]的控制,并进行正确的操作。从这个例子可以看出,microsoft access经过两次查询最终确定我们指定的控制。假如你想在同一程序(函数或者子函数)中再次查询[customer invoice]表中任一控制,你可以删除可能会在下次出现的多余语句,而只使用如下语句:
文章评论
共有位Admini5网友发表了评论 查看完整内容