与直接调用函数相比,为什么对函数进行交叉应用这么慢?

时间:2018-09-28 16:09:18

标签: sql tsql

我有一个返回表的函数:my_function(id integer)

当我这样调用此函数时:

SELECT * FROM my_function(123)

执行大约需要 1秒

由于某些原因,我需要在视图中执行此功能,因此需要解决这些参数。

执行此操作大约需要 20秒

SELECT p.*
FROM my_table AS m 
  CROSS APPLY my_function(m.id) AS p
WHERE m.id = 123

注意: m.id是唯一的,并且结果完全相同。

那是为什么?

0 个答案:

没有答案