Sql-Server

POS 性能問題 AX 2012 R3

  • October 12, 2017

我有遲鈍。

誰能查看這個計劃(PasteThePlan)並告訴我我需要優化什麼?這是實際的計劃

這是從應用程序獲取客戶資訊的過程的一部分。在跟踪中,我發現查詢需要很長時間。大約用了 14 秒,而在另一個 POS 中用時不到 1 秒。

我正在使用 SQL Server 2016 - 速成版

假設這是零售 POS 的商店數據庫,而不是您的主 AX 數據庫,您應該可以在 Express Edition 上執行它。由於儲存數據庫僅包含儲存執行所需數據的子集,而無需與主系統永久連接,並且事務應僅保留允許系統同步到主數據庫所需的時間,這些儲存數據庫通常是相當小。

但是,您的估計在此數據庫中還有很長的路要走(現在您發布了實際計劃),這可以解釋為什麼您的查詢在另一個 POS 上執行得更好(假設您的意思是它位於另一個商店/位置,後面有另一個數據庫)如果該數據庫恰好有更好的統計數據。

請參閱AX 零售:零售店維護和 SQL Express,了解如何使用 SQLCMD 安排維護,但我建議您改用Ola Hallengren 的腳本FAQ解釋瞭如何在 SQL Server Express 實例上進行設置。

我還認為您已經自定義了logisticselectronicaddress表格,因此您可能想要查看該表格上的索引,或在此處發布表格定義以便我們為您提供幫助。

社區維基回答

某些表上的估計值與實際值相差甚遠,例如 SQL Server 預計會有 1 行返回,但超過 25 萬返回。

您可能想要開始的是拆開該視圖,並且只加入您需要的特定表 - 特別是因為您只想要它正在讀取的數十萬行中的一行。

此外,附帶說明 - 如果它是主數據庫(儲存數據庫不應該成為問題),在 SQL Server Express Edition(沒有並行性和 1GB RAM)上執行 Dynamics AX 將會很糟糕。

引用自:https://dba.stackexchange.com/questions/187040