2013-12-18 24 views
0

我有一个存储过程查询我的一个表。对于该表,我希望它添加一个由函数计算的值的列。SQL Server - 将表传递给函数...怎么样?这是一个好主意吗?

该函数是另一个查询,其子查询基于另一个表中的用户数据。

现在,由于有很多行要进行计算,所以我认为通过该函数可以反复查询每行的相同数据。

我想我可能会查询存储过程中的函数所需的数据并将其保存在临时表中,并将该表传递给函数,以便函数实际查询内存中的小表而不是进行查询到真正的桌子 - 这样可以加快速度,并且在我的真正桌子上没有太多的IO。

我的问题实际上是两个部分:

  1. 是我在说什么,甚至有意义?这是一个很好的解决方案,它将使其更快,更高效?或者正在将表数据传递给一个功能带来高成本?
  2. 如何将表格传递给函数?

感谢

编辑:

顺便说一句 - 这是一个标量函数

+0

部分取决于乐趣ction;它是标量还是表函数?如果表函数是内联还是多值? –

+0

对不起,我猜应该提到它。这是一个标量函数。 – developer82

+0

当你用标准的顺序编码方式思考时,你的问题更有意义,SQL思想常常需要其他方式 - 我无法从你所说的内容中知道,而是一个视图,甚至只是一个更好的查询,它可以执行与功能可能会更好,更快。 – Hogan

回答

相关问题