对具有100万条记录的表运行的以下SQL为Date1和Date2列提供相同的值,并且执行需要38秒.这是预期的行为吗?为什么?
CREATE FUNCTION Fn_Test(@a decimal)RETURNS TABLE
AS
RETURN
(
SELECT @a Parameter, Getdate() Date1, PartitionTest.*
FROM PartitionTest
);
SELECT *, GETDATE() Date2 FROM Fn_Test(RAND(DATEPART(s,GETDATE())))
Run Code Online (Sandbox Code Playgroud)
这是某种缓存吗?