[英]Updating a Microsoft Access 2013 table with data from a pass-through query
[英]Microsoft Access Make-Table Performance with Pass-Through Query
給你的問題訪問大師在那里:
我有一個 Oracle 傳遞查詢,它在 Access 程序中大約2 秒內返回一個結果集。 但是,當我嘗試在生成表查詢中使用該傳遞查詢時,它拖了大約 7 分鍾。 (該文件當前駐留在我的桌面上,所有表都是本地的(未鏈接))。
為了提高性能,我創建了刪除/追加查詢並使用 VBA 運行它。 然后我嘗試使用顯式字符串 SQL 查詢 DAO db.Execute,引用傳遞查詢 (INSERT/SELECT)。 所有方法都非常慢! 我很想讓它接近傳遞的實際運行時間(再次,2 秒)。
任何見解?
很可能,生成表和傳遞查詢之間沒有實際的大的性能差異。 查詢實際上需要幾分鍾才能運行,而您可以在幾秒鍾內查看一些結果。 向下滾動查詢窗口可能會顯示查詢仍在呈現。
由於傳遞查詢與 ODBC 驅動程序/OLEDB 提供程序接口以解析網絡中客戶端(即 MS Access)和數據庫(即 Oracle)之間的 SQL 語句,因此可能有多種環境或軟件原因。
制作表是否可以訪問本地? 我的意思是一只狗,並說一輛公共汽車在這里是兩種非常不同的東西。
那是oracle 本地的make table,還是您正在考慮將PT 查詢用作Access 中LOCAL 表的make 表? 因此,您的比較在這里與珠穆朗瑪峰有所不同。
我懷疑如果目標表是“本地”,則飛機 jane 鏈接到 Oracle 的表與 PT 查詢的鏈接表可能會執行相同的操作。 那是因為您將整個表從網絡管道拉到本地表。
如果 PT 查詢是將表 100% 生成到 Oracle 服務器上的另一個表? 然后 PT 查詢的執行速度應該與您在 Oracle 控制台中鍵入該命令的速度一樣快 - 應該沒有區別。
你沒有提到行數(編輯 - 我看到你只注意到 16,000 行 - 這是相當小)。 所以問題是網絡連接。 這是 LAN(局域網),還是您使用的 VPN 和互聯網會慢 100 倍左右。 我的意思是,比典型 LAN 慢 100 倍的連接將慢 100 倍 - 這並不奇怪。
因此,有關正在使用的連接類型和行數的詳細信息將在此處發揮重要作用。 但是,如果此處涉及 VPN 和 Internet 連接,則此類連接比您的超級廉價辦公室局域網慢約 50 倍。 你可以閱讀我的這篇解釋這個速度問題的文章: http : //www.kallal.ca//Wan/Wans.html
我不明白為什么 16,000 行需要這么長時間——在最便宜的辦公網絡上,這將花費不到一秒鍾的時間。 使用任何其他客戶端來提取該數據不應比 PT 查詢運行或工作得更快。 我的意思是,ado.net、ODBC 或 oleDB 不會導致服務器說,嗯,哎呀 - 讓發送數據的速度變慢。 所有這些客戶端都應該以相同的速率拉取數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.