AX 2012R2:查找查询花费的时间太长,查找永远不会打开

时间:2015-12-16 08:17:28

标签: axapta dynamics-ax-2012 x++ dynamics-ax-2012-r2

我有一个AX2012R2 CU6(构建和客户端6.2.1000.1437,内核6.2.1000.5268),但存在以下问题:

在AP>期刊>发票>发票日记>行(表单LedgerJournalTransVendInvoice),当我选择供应商作为帐户类型,然后在帐户字段上激活查找, AX会冻结几分钟,当它恢复时,查找将关闭/永不打开。每当帐户类型供应商,其他帐户类型工作正常时,就会发生这种情况。

我将此调试为LedgerJournalEngine.accountNumLookup() - > VendTable.lookupVendor行

formSegmentedEntryControl.performFormLookup(formRun);

上述过程占用了时间。

在聘请驱魔人之前有任何想法吗?

2 个答案:

答案 0 :(得分:6)

R3有一个已知的KB,在Lifecycle services

上查找
  

KB 3086961对卷数据的VendorLookup性能问题,   在GFM Bugbash 6/11期间花了30多分钟

即使修复是针对R3,也应该很容易向后移植,因为更改被描述为

  

根本原因似乎是DirPartyLookupGridView,它有   大约14个视图和表格连接。此视图用于许多地方   因此,随着时间的推移似乎已经增长了很多。

     

此修补程序中的更改将删除该视图并仅添加所需的视图   数据源 - dirpartytable和logisticsaddress to the   VendTableLookup表单。

     

custtableLookup未使用视图并使用自定义数据源   相反,所以没有变化。

尝试实施该更改,看看会发生什么。

我不确定这会解决您的问题,因为在您的执行计划中,唯一看起来非常昂贵的操作是需要溢出到tempdb的排序运算符(您可能需要更多内存来解决这个问题)但是datasource可能会从执行计划中删除sort运算符,因为数据可能会被索引排序。

答案 1 :(得分:2)

可能是SQL Server选择了错误的查询计划。

首先检查您是否在相关表上禁用了任何索引,然后对它们进行同步。

如果仍然有问题,那么在所涉及的表(包括视图中的表)上运行STATISTICS UPDATE