设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1038|回复: 1
打印 上一主题 下一主题

[与其它组件] [转帖] 為什麼 Access 2000 在超過一位使用者時就會變慢?常見的效能表現問題有哪些

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2004-12-17 17:24:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式






問:



為什麼 Access 2000 在超過一位使用者時就會變慢?常見的效能表現問題有哪些?









<TABLE cellSpacing=0 cellPadding=0 border=0>



<TR vAlign=top>

答:



<TD>

試試下面這個原來是由 Microsoft 所建議,然後再由我大幅加以更新的秘訣。這個秘訣有些亦能套用至 Access 2002。在 Access 2000 中最常見的效能表現問題包括:


  • .ldb 鎖定

    當效能在單一使用者使用資料庫時還可以接受,但是兩位或多位使用者使用資料庫時就大幅滑落時,問題可能就出在與 .ldb 檔案的互動上。



    在 Access 2000 中,當第二個和接下來的使用者嘗試存取伺服器上的共用後端資料庫時,Access 似乎有嘗試刪除 .ldb 檔案的狀況 (這項操作是失敗的,因為當時有另一位使用者在該檔案中)。這種嘗試在無聲無息地失敗之前,總共會進行 15 次,然後記錄才會由相連結的資料表中傳回。



    若想解決此一問題,您可以為每個前端工作站建立一個與後端的永久連結。這可以使用一個繫結表單來達成,該表單是永遠開啟的。我自己一直保有一個通用的選項資料表,這對我來說是可行的辦法。否則,您也可以在後端檔案建立一個假的 (測試) 的資料表,然後在前端檔案建立程式碼。這會在資料表上開啟一個資料錄集,然後持續此資料錄集,直到前端應用程式關閉為止。若想這麼做:





    <OL>
  • 建立一個空白表單。
  • 在全域宣告區段宣告一個資料錄集變數。
  • 在 OnOpen 事件中,開啟一個任何資料表中的資料錄集。
  • 在 OnClose 事件中,也就是當 MDB 關閉時所會啟動的事件,關閉資料錄集並設定變數為無。
  • 確定您在每次開啟 MDB 時都永遠開啟此表單。在您開啟檔案時,最好將此表單隱藏。


維持對相連結資料表的永久連線,可以大幅改善效能表現,因為它防止 Microsoft Jet 不斷地從其他資料庫的鎖定資訊檔案刪除、建立和維持鎖定資料。



在 Access 97 當中,一旦您連結至第一個資料表之後,就可以藉由開啟一個根據您重新連結的第一個資料表而來的資料錄集,大幅加快在共用後端 MDB 中重新連結的速度。




  • 資料表開啟速度偏慢

    如果資料庫帶有很多的關聯和一大堆的連結資料表,而且您正在開啟的資料表的子資料工作表名稱屬性是設定為 [自動] 的話,那麼該資料表在開啟時可能會偏慢。子資料工作表是 Access 2000 中的新功能,因此在您將較早版本資料庫轉換時,可能要特別注意這個運作效果。若想獲得更多資訊,請閱讀下列的知識庫文章:ACC2000:連結的資料表效能較慢




  • 開啟資料庫物件時發生延遲

    如果一個資料庫將名稱自動校正功能開啟,使用者在嘗試開啟資料庫物件時,可能會發生延遲。使用一個將名稱自動校正開啟的安全資料庫時,目前的使用者必須擁有物件的設計權限,名稱自動校正才能在物件開啟時,進行追蹤、修正和記錄繫結的錯誤。如果使用者對於名稱自動校正嘗試要變更的物件沒有設計權限,那麼每當使用者開啟物件時,就會進行變更,因為該使用者並沒有儲存變更的權限。



    若想修正此問題,開啟 [工具] 功能表,選擇 [選項],然後選擇 [一般] 標籤。接著勾除 [追蹤名稱自動校正] 核取方塊。若想獲得更多資訊,請閱讀下列的知識庫文章:ACC2000:啟動名稱自動校正時開啟物件的效能表現偏慢




  • 更新導致檔案大小大幅增加

    Access 2000 在您對檔案進行更新時,相較於 Access 97 在效能表現上有所降低 (並且相對在資料庫大小上有所增加)。這是由 Access 2000 儲存專案項目的方式所致。專案項目由表單、報告、巨集和模組所構成。在 Access 2000 之前的版本中,每個物件在系統資料表中都有它自己的記錄。如果物件有所變更,只會更新系統資料表中的記錄。



    現在,由於包含了 Visual Basic 編輯器介面,Access 2000 將所有的專案項目都儲存成一個系統資料表中近乎一筆記錄的二進位大型物件 (BLOB)。如果有很多的程式碼、表單和報告,對一個物件的變更可能會致使我們重寫二進位大型物件的大部份。因此,就會在磁碟中寫入比之前更多的東西。



    因此,對資料庫進行變更,會導致我們製作
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 分享淘帖 订阅订阅
    2#
    发表于 2004-12-17 18:38:00 | 只看该作者
    好貼!謝謝!頂ing.......
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

    GMT+8, 2024-6-13 07:39 , Processed in 0.101245 second(s), 25 queries .

    Powered by Discuz! X3.3

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表