选择Statement Vs在Ax中查找

时间:2014-11-27 05:08:31

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

在编写代码时,我们可以使用select语句或select table list或find table on table来获取记录。

  I wonder which of the statement helps in better performance

2 个答案:

答案 0 :(得分:2)

这实际上取决于你真正需要的东西。

find()方法必须返回整个表缓冲区,这意味着,所有列都被投射到它返回的缓冲区中,因此您可以选择完整的记录。但有时您只需要一列,或只需要一些。在这种情况下,选择整个记录可能会浪费,因为您无法使用所选的列。

因此,如果您正在处理具有大量列的表并且只需要其中的一些,请考虑为此编写特定的select语句,列出您需要的列。

另外,请记住,不应将仅生成几列的select语句公开。这意味着你应该将这些语句提取到方法中,因为想象一下有人使用该方法并试图弄清楚为什么列X为空的意外...

答案 1 :(得分:1)

您可以查看表格中的find()方法,并在那里找到相同的'选择' -statement。

  • 它可以是相同的选择;在这种情况下,声明作为您自己的声明将是相同的。
  • 它可以是不同的select语句然后你自己和性能将取决于表上的索引,select语句,收集的统计信息等。

但这里没有魔力。所有这些都只是选择语句 - 无论你使用哪种方法。