Select the product you need help with
ACC2000:如何最佳化 Microsoft Access 2000 中的查詢文章編號: 209126 - 檢視此文章適用的產品。 本文曾發行於 CHT209126 在此頁中結論
中級使用者:需具備基本巨集、編碼及互操作性技巧。
本文討論如何最佳化 Microsoft Access 2000 中的查詢效能。主題包括 Microsoft Jet 資料庫引擎的查詢最佳化器、查詢時間、分析效能與改善查詢效能的設計祕訣。 本文假設您的資料庫具有區域資料表,而非連結 (或附加) 資料表。如果您的資料表是連結資料表,這些資訊也適用,但對於連結資料表而言,還有其他課題會影響查詢效能。如需有關改善連結資料表效能的其他資訊,請在 Microsoft Knowledge Base 中搜尋下列字串: odbc and optimizing and tables 其他相關資訊查詢最佳化器Microsoft Jet 資料庫引擎包含幾個元件,其中對查詢而言最重要 (也最複雜) 的元件是最佳化器。最佳化器是 cost-based,也就是說它會給每個查詢工作指定一個時間耗用成本,然後選擇最不費時的工作清單來執行,以產生想要的結果集。工作執行所需的時間越長,就會被視為越耗用時間成本或越費時。 最佳化器使用統計資料來決定使用何種查詢策略。這些統計資料包括資料表的記錄數、資料表中的資料頁數、資料表的位置、是否有索引、索引的唯一性如何,等等。根據這些統計資料,最佳化器會在處理特殊查詢時選擇最佳的內部查詢策略。 每當電腦編譯查詢時,統計資料都會更新。當您儲存查詢 (或其基礎資料表) 的任何變更,以及當您壓縮資料庫時,查詢都會被標記為需要編譯。如果查詢被標記為需要編譯,下一次執行查詢時,統計資料就會編譯及更新。編譯所需的時間通常為 1-4 秒。 如果您在資料庫新增大量數目的記錄,您應該開啟並儲存查詢,以重新編譯查詢。例如,如果您使用小型的範本資料集來設計與測試查詢,則在資料庫新增額外的記錄後,應該重新編譯查詢。這樣做可以確保在使用應用程式時的最佳查詢效能。 注意:您無法檢視 Jet 資料庫引擎的最佳化作業方式或者指定如何最佳化查詢。但是,您可以使用 Database Documenter 來確定索引是否存在以及索引的唯一性。 如需有關 Database Documenter 的其他資訊,請按下面的文件編號,參閱 Microsoft Knowledge Base 中的下列文件: 207782
(http://support.microsoft.com/kb/207782/EN-US/
)
ACC2000:Error Using Database Documenter If Objects Are Open查詢時間[選取] 查詢有二個重要的時間度量單位:顯示第一個資料畫面的時間,以及取得最後一個記錄的時間。如果查詢只傳回一個資料畫面,這二個度量單位就會相同。如果查詢傳回許多記錄,這些時間度量單位會有很大的差異。 如果當您檢視 [資料工作表檢視] 中的 [選取] 查詢時,上述二個度量單位相同,您會看到資料畫面以及查詢所傳回的記錄總數,例如「記錄 1 之 N。」如果 Jet 資料庫引擎顯示第一個資料畫面比完成查詢與擷取最後的記錄要快,您會看到資料畫面,但看不到「記錄 1 之 N」中的 N。直到完成查詢或捲動到最後的記錄之前,N 值是空白的。 這種行為是因為 Jet 資料庫引擎選擇下列其中一種效能策略的結果:完成查詢,再顯示資料;或者顯示資料,再完成查詢。您無法控制使用何種策略;但是,Jet 資料庫引擎會選擇最有效率的策略。 分析效能如果使用 Microsoft Access 7.0、Access 97 或 Access 2000,您可以使用「效能分析器」來分析資料庫的查詢。因為查詢效能分析與 Jet 資料庫引擎關係密切,「效能分析器」只會在 Jet 資料庫引擎實際使用索引來最佳化查詢時建議您新增索引。這表示「效能分析器」可以提供比以下本文〈改善查詢效能的祕訣〉一節所列的一般建議更符合您資料庫需要的效能祕訣。 要在 Microsoft Access 7.0、Microsoft Access 97 或 Microsoft Access 2000 中執行「效能分析器」,在 [工具] 功能表上按一下 [分析],然後按一下 [效能]。 改善查詢效能的祕訣要改善查詢效能,請嘗試以下祕訣:
?考
如需有關最佳化 Microsoft Access 2000 效能的其他資訊,請按一下 [說明] 功能表上的 [Microsoft Access 說明],在「Office 小幫手」或「解答精靈」鍵入 optimize performance,然後按一下 [搜尋] 檢視該主題。
如需有關使用索引的其他資訊,請按下面的文件編號,參閱 Microsoft Knowledge Base 中的下列文件: 209564
(http://support.microsoft.com/kb/209564/EN-US/
)
ACC2000:Compound Indexes Must Restrict First Indexed Field?考
本文件是根據 Microsoft Knowledgebase 文件編號 Q209126 翻譯的. 若要參考原始英文文件內容, 請至以下網址:
http://support.microsoft.com/support/kb/articles/Q209/1/26.asp
(http://support.microsoft.com/kb/209126/en-us?ln=en-us&sd=gn&fr=0)
屬性文章編號: 209126 - 上次校閱: 2000年11月13日 - 版次: 1.0
| 文章翻譯
|


回此頁最上方








