亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Access > 正文

怎樣優化Microsoft Access來提高速度

2020-03-24 17:27:26
字體:
來源:轉載
供稿:網友
介紹 作為一名數據庫程序員,你的主要任務是讓你的用戶能快速地選擇、管理和訪問他們所需要的信息。其他的工作幾乎都是一成不變的,只要你的數據庫html' target='_blank'>應用程序執行速度越快,你的程序效率越高。這篇文章的目的就是突出各種不同的技巧和策略,通過優化程序來提高速度,讓你的Microsoft Access 數據庫應用程序的效率更高,這樣也可以幫助你完成作為一名數據庫開發者的主要使命。 硬件 瞄準速度問題的根本 為了提高你的數據庫程序的速度,自然而然地你會想到去注意影響速度最基本的幾個部分,我們將從處理這幾個部分著手。在你力圖提高你的數據庫程序性能的時候,你的程序所運行的硬件平臺將是唯一的決定因素。顯而易見,實現優化的第一條原則應該是較快的硬件=較快的數據庫,當然CPU和RAM是這個等式的核心所在。相信你一定注意到Microsoft Access 所聲明的,要達到一個令人滿意的性能,至少需要8MB的RAM和一個80486的CPU。一般情況下,用戶注意到這一點是理所應當的,但我卻見過許多用戶為他們的Microsoft Access 的執行速度而感到沮喪,當我問及他們使用什么機器運行此程序時,他們告訴我是一臺80386,并且是在運行一臺服務器上的一個MSACCESS.EXE。所以,在相信你的用戶通過下面的方法固然能提高其程序性能的同時,始終需要強調的仍然是,在Microsoft Access 執行過程中,硬件才是關鍵的問題。 有效的磁盤訪問 假定已經有了一個令人滿意的硬件配置,下面讓我們討論一下如何才能提高Microsoft Access 在此平臺上的運行速度。就這個問題,對你的數據庫程序而言,影響其性能的第二位因素就是磁盤訪問了。在執行過程中,對物理磁盤的訪問總是一個速度的瓶頸(與訪問存儲在 RAM中的數據相比較而言),所以,你應該盡量減少對磁盤的訪問。然而,由于你的應用程序總是要和一些磁盤或其他一些物理設備打交道,所以,你的目標應該是保證所有的磁盤訪問都盡可能有效。要實現這一點,方法是經常整理你的磁盤數據碎片,整理你的數據庫所在的磁盤驅動器以及所有你執行你的數據庫程序時要涉及的磁盤驅動器,而且你還應提醒你的用戶定期清理磁盤碎片,以此保證磁盤訪問一直有效。這將最大程度地減少在對物理磁盤進行讀寫而花費的時間,盡管這些讀寫是不可避免的,同時優化了整個體系的性能
使RAM最大化/對磁盤訪問的頻率最小化 下一個主題是使你的數據庫程序與物理磁盤驅動器打交道的頻率最小。要做到這一點關鍵是盡可能多的釋放RAM空間給你的應用程序使用。要實現這一點,你需要做到以下幾點: 增加最大緩沖區的尺寸 首先涉及到你對最大緩沖區尺寸的設置。最大緩沖區的尺寸指的是Microsoft Access作為內部存儲空間而保留的RAM的數目。存儲空間越大,用戶需求的數據能在RAM中找到可能性越大,同時減少了對物理磁盤的訪問頻率。Microsoft Access 需要的最小緩沖區是512KB,如果你的硬件系統有多于4MB的RAM,那么你就可以為Microsoft Access 多分配一些供其使用(這樣也增加了系統的性能)。要做到這一點,只需要在MSACCESS.INI(在你的windows目錄下)文件中增加對最大緩沖區的設置,使用你的文本編輯器,例如記事本,在此文件中找到 [Option] 段,在其中加這樣一句話:MaxBufferSize = xxxxx 這其中的xxxxx即是為你的應用程序對存儲空間分配而作的新設置(例如,設置MaxBufferSize=2048將為Microsoft Access分配2MB的緩沖區空間)。那么,你究竟應該分配多少才算合適呢?除了“盡可能多”,其他的還真難說。你需要手動地調節這個設置,同時需要試著讓你的硬件都能提供以下條件:1)不能妨礙用戶同時正在運行的程序,2)不會影響其自身底層操作系統的運行效率(你可能會在程序啟動時想通過.INI文件查看一下Microsoft Access自身的配置,因此,任何對MSACCESS.INI文件的修改都將只能在下一次Microsoft Access啟動時才能奏效,而對現在正在運行的Microsoft Access程序沒有任何的影響)。 避免裝載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數據庫時,你要經常性地增加和刪除數據、代碼等等?,F在的問題是Microsoft Access并不能有效地釋放已分配的但被刪除的對象空間,這將意味著即使你刪除了一個對象,而這個對象仍然在你的數據庫中占據空間。壓縮數據庫將迫使Microsoft Access真正刪除這些對象并回收其占據的空間,從而使得你的數據庫盡量小但卻更有效。我曾把逐字逐句查詢的平均時間減少了30%——50%,而做到這一點僅僅是通過去壓縮那些由于經常使用又缺乏壓縮而變得過度膨脹的數據庫程序,因此,在運行程序的過程中,不要忽視壓縮過程的重要性。正如你要定期清除硬盤數據碎片一樣,你和你的用戶也應當定期壓縮數據庫來保證它始終最有效地運行。 只用代碼 你可能希望通過宏操作來搭建一個應用程序的模型,一旦你開始優化你的程序的最終性能,一定要把所有的宏重新寫成代碼。這主要是因為Microsoft Access代碼要比宏運行得快的多。但遺憾的是有三個宏操作你不能將他們改寫成代碼,這三個宏是Autokeys、Autoexec和Addmenu操作,這三個宏在Microsoft Access中沒有相應的等價類,因此你只能被迫使用他們。不過,你可以克服Autoexec的限制,只需要定義Autoexec為調用你的Access Basic Autoexec函數
優化數據類型聲明 當你在你的代碼中聲明數據類型時,你應該試著盡可能精確。因為若是一個變量的類型(如果沒有特別聲明,缺省為可變類型)非常靈活自由的話,那么這種類型同時也將是最浪費內存的一種類型。這樣一來,如果你知道check Balance這個變量不需要超過4位小數精度的話,那么就把它定義成確定類型而不是可變類型。對你的過程函數的定義同樣也可以如此操作(比如說,把函數PostCredit()聲明為整形,而不是Function PostCredit())。請注意這樣一個事實,如果你估計一個變量將會被處理成一個空值,那么你需要去把它定義成一個可變類型而不是一個確定的嚴格的數據類型,否則你會得到一個錯誤信息。同樣地,要注意整形除法和浮點除法之間的差別。 經常使用From/Report變量 在你的程序中,你需要保證你能提前解決盡可能多的查詢工作。這意味著什么呢?舉個例子來說明:如果你想在代碼中查閱一個名為[NetPrice]的文本框,你可以使用這樣一條語句:Mytemprariable=Forms![Customer Invoice]![Net price] 對于這條指令,Microsoft Access首先在Forms對象里搜索名為[Customer Invoice]的表,一旦它找到這張表,Microsoft Access接下來尋找名為[NetPrice]的控制,并進行正確的操作。從這個例子可以看出,Microsoft Access經過兩次查詢最終確定我們指定的控制。如果你想在同一程序(函數或者子函數)中再次查詢[Customer Invoice]表中任一控制,你可以刪除可能會在下次出現的多余語句,而只使用如下語句:Dim F as form
Set F = Forms![Customer Invoice] 現在,你的Form變量將自動指向Form[Customer Invoice],允許Microsoft Access 避免每次在你需要查找[Customer Invoice]表中任一對象時,都要把數據庫的Form對象中全部搜索一次。為了查閱控制[NetPrice],你只需要簡單地使用下面的語句:
Mytempvariable=F![NetPrice] Mytempvariable=F![NetPrice] 你也可以對Report對象作相同的操作(比如,set R=Reports![MyReport])。當你在一個函數中僅僅只對一個Form或Report訪問一次,你可能在速度性能方面得不到什么太大得好處,但是一旦你開始在同一個Form或Report中進行的訪問操作超過一次,你將會看到明顯的時間減少。于是,通過使Microsoft Access避免作多余的查閱,你將大大地提高你程序的速度。 在可以應用的地方使用windows函數 無論何時,只要相關,總是可以用一個windows函數調用來代替Access Basic代碼執行同一個操作。這樣你將節省開發時間,因為windows函數調用是已經完成編碼并經過優化,同時也因為它們是用C語言編寫的(機器可執行),而Access Basic代碼則要被編譯成P代碼形式,同時需要在執行時一行一行地解釋。一個最普通的例子是custom.ini設置。你可以使用Access Basic文件函數去得到一個自由文件指針,打開文件,讀/寫文件,然后關閉它。但是如果你完全可以簡單地使用GetPrivateProfileString和WritePrivateProfileString函數來實現,它們既快且已經編碼優化隨手可用,你為什么還要自尋煩惱呢?(參考:“Enhanced Microsoft Access: Using the Win16 API”) 你的Microsoft Access數據庫應用程序運行速度越快,你就能更好地完成你的任務,也就是向你的用戶提供最有效的選擇、管理、發送他們的數據的能力。我真誠希望以上這些小技巧能協助你達到這個目標
本文作者:html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色悠悠国产精品| 久久精品国产清自在天天线| 国产有码在线一区二区视频| 日韩欧美中文免费| 亚洲第一区第一页| 欧美日韩亚洲网| 亚洲美女动态图120秒| 一区二区三区四区在线观看视频| 亚洲美女av网站| 欧美激情女人20p| 久久韩剧网电视剧| 成人激情视频在线观看| 欧美激情网友自拍| 亚洲开心激情网| 青草青草久热精品视频在线观看| yw.139尤物在线精品视频| 欧美成人一二三| 久久综合伊人77777| 亚洲电影免费观看高清| 日韩中文字幕网站| 国产一区二区三区在线播放免费观看| 欧美精品激情blacked18| 国产va免费精品高清在线观看| 一区二区在线免费视频| 第一福利永久视频精品| 欧美电影第一页| 日韩精品视频在线播放| 日韩中文第一页| 亚洲在线免费看| 另类色图亚洲色图| 欧美亚洲一区在线| 2021国产精品视频| 欧美精品videossex性护士| 国产精品白嫩美女在线观看| 国产亚洲精品久久久久久777| 日韩欧美中文字幕在线播放| 午夜精品久久久久久99热软件| 欧美成人午夜激情在线| 97精品视频在线观看| 亚洲欧洲在线观看| 91成人在线播放| 丝袜美腿亚洲一区二区| 中文字幕在线看视频国产欧美| 久久精品国产2020观看福利| 亚洲最大福利视频网| 日本成熟性欧美| 欧美极品少妇xxxxx| 久久精品电影网站| 国产91精品久久久久久| 欧美精品xxx| 亚洲人成在线观看| 久热爱精品视频线路一| 在线成人激情视频| 亚洲网站视频福利| 国产精品久久久av| 成人乱色短篇合集| 欧美老妇交乱视频| 精品视频在线播放| 日韩美女av在线免费观看| 欧美xxxx做受欧美.88| 国产精品一区二区久久久| 88国产精品欧美一区二区三区| 日韩成人中文电影| 亚洲成人在线视频播放| 中文字幕一区二区三区电影| 成人免费高清完整版在线观看| 国产视频999| 久久影视电视剧免费网站清宫辞电视| 亚洲免费电影在线观看| 亚洲最大av网站| 亚洲大尺度美女在线| 欧美电影免费观看大全| 亚洲最大成人免费视频| 亚洲激情小视频| 欧美成人午夜免费视在线看片| 黑人巨大精品欧美一区二区| 国产丝袜一区二区三区免费视频| 国产精品成人免费视频| 神马久久久久久| 欧美黑人极品猛少妇色xxxxx| 亚洲一区二区福利| 庆余年2免费日韩剧观看大牛| 久久男人的天堂| 欧美激情精品久久久| 亚洲精品动漫久久久久| 亚洲人成网7777777国产| 欧美日韩国产精品专区| 中文字幕日韩欧美在线| 日韩精品黄色网| 欧美刺激性大交免费视频| 国产成人精品999| 中文字幕亚洲激情| 91热精品视频| 97在线观看免费高清| 在线观看视频99| 亚洲色图激情小说| 中文字幕一区二区精品| 69**夜色精品国产69乱| 岛国av一区二区三区| 国产精品久久久久久久久影视| 韩国日本不卡在线| 成人国内精品久久久久一区| 欧美激情高清视频| 亚洲日韩欧美视频一区| 国产91成人video| 精品无人国产偷自产在线| 亚洲人午夜色婷婷| 97成人在线视频| 大荫蒂欧美视频另类xxxx| 精品美女国产在线| 国产精品久久久久影院日本| 国产精品久久久久久五月尺| 羞羞色国产精品| 精品久久久久久中文字幕一区奶水| 国产精品福利网站| 久久久久久国产精品三级玉女聊斋| 欧美中文在线免费| 欧美成人自拍视频| 91禁国产网站| 久久久www成人免费精品张筱雨| 成人羞羞国产免费| 亚洲aⅴ男人的天堂在线观看| 欧美性videos高清精品| 精品久久久久久久久国产字幕| 亚洲日韩欧美视频一区| 国产精品主播视频| 一区二区三区四区在线观看视频| 97香蕉久久超级碰碰高清版| 91精品啪在线观看麻豆免费| 亚洲欧美国产精品久久久久久久| 国产精品91在线| 国产精品狼人色视频一区| 欧美电影免费看| 欧美xxxx18国产| 久久伊人精品天天| 中文字幕在线日韩| 在线观看久久久久久| 亚洲国产精品一区二区久| 国产精品一区二区女厕厕| 中文字幕日韩欧美在线视频| 亚洲高清在线观看| 久99久在线视频| 精品成人乱色一区二区| 福利视频第一区| 亚洲欧美精品一区二区| 日韩av免费看网站| 国产激情综合五月久久| 好吊成人免视频| 2018国产精品视频| 精品亚洲一区二区三区在线播放| 日本一区二区三区四区视频| 国产精品国产自产拍高清av水多| 国产精品一区二区久久久久| 欧美一级片免费在线| 欧美又大粗又爽又黄大片视频| 青青精品视频播放| 久久久久一本一区二区青青蜜月| 欧洲成人在线视频| 久久久极品av| 亚洲欧美成人精品| 色妞一区二区三区| 欧美一区二粉嫩精品国产一线天| 欧美亚洲另类视频| 亚洲品质视频自拍网|