提高Visual Basic訪問資料庫的效率

2022-02-10 09:08:37 字數 1870 閱讀 8611

1.盡量使用事務處理更新資料庫

vb的事務處理包括以begintrans開始,以committrans或rollback結尾的多條資料庫操作指令。事務處理除了能很好的保證資料庫的完整性以外,同時能大大提高資料庫批量更新的效率。這是因為如果資料庫更新操作沒有使用事務處理,則每次update操作都會引起資料庫寫盤一次。使用事務處理後,更新只在記憶體緩衝區內進行,執行committrans時才將所有修改一次寫回到磁碟中。使用事務處理要注意一下幾點:

(1)事務處理要有很完善的錯誤檢查機制;

(2)因為vb在事務處理結束前對資料庫使用了頁面鎖.所以在多使用者環境中,如果事務被掛起,則其他使用者將無法訪問上鎖的資料。

2.盡量使用**分解select檢索操作

使用select進行資料庫操作固然簡單易用,但如果將一些檢索操作分解為等價的手工檢索**,則對資料庫的檢索速度將大大加快.分解的基本方法是對檢索關鍵字段進行索引,利用seek方法定位後,根據索引的資料庫已經排序的特點,進行遍歷查詢.對於遍歷範圍不是很寬時,這種方法能幾十倍的提高資料庫的訪問速度.例如:select * from person where vol= '123' and birth= #11-02-73# 分解成下面的操作後,訪問速度可大大提高:

1table.index="

vol"

table.seek "=

","123"if

nottable.nomatch 

then

2while

nottable.eof 

3iftable(

"vol")

="123"

then

4table.movelast 

5else

iftable(

"birth")

=#11-

02-73# 

then

6'找到記錄 

7endif

8table.movenext 

9wendend 

if3.使用attach繫結資料庫表

當使用odbc連線ms sql server,oracle和sysbase之類的資料庫伺服器時,我們可以通過ms acess的attach功能將伺服器上的表繫結到ms acess資料庫中,因為ms acess資料庫能快取資料庫伺服器上表的結構,當我們訪問odbc資料來源時能提高系統的訪問效能。

4.使用dbsqlpassthrough選項

連線ms sql server, oracle和sysbase資料庫伺服器時,使用dbsqlpassthrough選項可將命令直接傳送給資料庫伺服器,從而減少中介軟體對命令的檢查和解釋,提高了資料庫的訪問效能。下例使用儲存過程建立dynaset:

dim mydb as databasedim myds as dynasetset mydb=opendatabase(..........)'開啟資料庫set myds=mydb.openrecordset("name",dbopendynaset,dbsqlpassthrough,...)

使用dbsqlpassthrough的缺點是返回的記錄集是唯讀的。

5.正確使用資料庫訪問物件table.

支援seek命令和索引.兩者配合能最快的找到紀錄.筆者曾經做過速度比較試驗,都是檢索10萬個記錄table 用時3.5秒dynaset 用時9秒snapshot用時10秒.支援讀寫操作.不支援sort和filter,必須使用index代替.對應於資料庫中的物理表,增,刪,改會直接影響資料庫表。

dynaset.最靈活的資料庫物件.支援讀寫操作,是記錄的動態子集.在odbc中,寫操作需要設定唯一性索引.支援sort和filter.使用join命令關聯多個表時,只能使用dynaset。

snapshot.只能讀不能寫,不能加鎖.不支援事務處理.不支援edit,addnew和update方法

如何提高訪問速度

對於一般的 來說,我們並沒有察覺到訪問速度的快慢!因為一般的 的資料量小,相對,各個方面都能快速的載入頁面和填充資料。但是,對於乙個上千萬的資料量時,我們是否應該考慮如何加快頁面的載入速度呢?我們設想一下,如果,一輛貨車,沒有載任何重物,它的速度甚至可以達到200km h,當貨車裝上十頓的貨物時,它...

hexo 提高訪問速度

hexo github訪問速度超慢!這兩天算是領悟到了它的龜速暴擊。原因只有乙個,託管 的github是外網,訪問外網慢是必然的。有很多人部落格採用hexo github coding方式,至於coding是什麼?大家可以理解為中國版的github,如果把 既託管到coding上,又託管到githu...

提高Github的訪問速度

由於cdn被遮蔽導致的github 的訪問速度很慢,但是可以通過修改本地的hosts檔案,繞過dns的解析來實現訪問的提速。實現如下 1 將c windows system32 drivers etc目錄下的hosts檔案用文字編輯器開啟備用。2 開啟 3 查詢assets cdn.github.c...