首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >填充临时表的最快X++代码

填充临时表的最快X++代码
EN

Stack Overflow用户
提问于 2012-10-01 09:00:05
回答 1查看 8.1K关注 0票数 2

我需要在InventTrans上循环以累积某些日期的itemId数量,并使用这个临时表作为数据源,以表单的形式填充一个临时表。我使用了一个类,对于一个itemId来说,这个过程相当长(大约5-10秒)。

哪个代码是最快的?

  1. 使用执行此过程的类
  2. 方法在temp表中。
  3. 在调用方窗体上单击()按钮进行处理

如何改进我的代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-01 10:48:07

由于您没有显示您的代码,因此对其进行改进纯粹是推测性的。

我将完全排除数字3;将业务逻辑放在单击的方法中并不是一种选择。

需要考虑的事项:

  • Client/ server :更喜欢将逻辑和数据访问放在服务器端,在表方法或类静态方法(或使用类属性)上使用server关键字。避免向客户回拨参数等。
  • 数据访问:考虑索引使用情况,在select中使用字段列表等。
  • 事务处理:使用ttsbegin/ttscommit外部主循环,它可以加快磁盘访问速度,甚至对于临时表也是如此。
  • TempDB表:在AX 2012中,考虑使用填充了insert_recordset的TempDB表。
  • 如果可能的话,避免使用临时表:在您的示例中,InventSum表可能已经为您准备好了数据。在select中使用sum关键字,并结合InventDim表上的join。考虑制定一个观点来做艰苦的工作。这将使SQL服务器进行计算,这通常会导致性能上两位数的因素增加。

冗长的问询?在用户设置中启用长查询的SQL日志记录。

花了多少时间?使用代码分析器。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12670232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档