我写了一个多语句表值函数。但是我在这个功能中遇到了缓慢。
CREATE FUNCTION [dbo].[userFunc]
(
-- Input param
)
RETURNS
@Results TABLE
(
UserId BIGInt,
FirstName BIGINT,
LastName INT
)
AS
BEGIN
INSERT INTO @Results
SELECT UserId, FirstName, LastName
FROM MyTable
RETURN
END
当我调查这个问题时,我发现了缓慢的原因。问题在于下面的插入查询。
INSERT INTO @Results
SELECT UserId, FirstName, LastName
FROM MyTable
但是当我删除INSERT INTO @Results时,查询很快并返回结果。知道为什么吗?