我有一个AX2012R2 CU6(构建和客户端6.2.1000.1437,内核6.2.1000.5268),但存在以下问题:
在AP>期刊>发票>发票日记>行(表单LedgerJournalTransVendInvoice),当我选择供应商作为帐户类型,然后在帐户字段上激活查找, AX会冻结几分钟,当它恢复时,查找将关闭/永不打开。每当帐户类型供应商,其他帐户类型工作正常时,就会发生这种情况。
我将此调试为LedgerJournalEngine.accountNumLookup() - > VendTable.lookupVendor行
formSegmentedEntryControl.performFormLookup(formRun);
上述过程占用了时间。
在聘请驱魔人之前有任何想法吗?
答案 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。