我在用户定义表的连接中表现不佳(当存在多个行时) 阅读其他帖子,如Performance of User-Defined Table Types in SQL Server我试图解决它,但我没有取得好成绩。 我会解释一下我的情况: 我定义了这个表类型:
CREATE TYPE myType AS TABLE
(
[Id] [int] NOT NULL,
[Value] [varchar](500)
)
我在下面的sp中使用它:
DECLARE @TableParams myType
INSERT INTO @TableParams (Id, Value)
--Code to fill the table type variable
SELECT ........ from......
--table type variable filled
SELECT @NumberParams =count(1) from @TableParams
SELECT T0.col1 from T0 where (@NumberParams =(
select count(1) from T1
INNER JOIN @TableParams T2
on T1.Id = T2.Id
and T1.Value=T2.Value
where T1.col1= T0.col1
))OPTION(RECOMPILE)
正如我所说的,我已经尝试了所附的帖子中提到的所有选项(除了subselect中的重新编译选项),但没有好消息。 subselect中的选项重新编译选项我没有测试过,因为当我尝试编译sp时,它总是返回错误