sql server 2012中用户定义的表类型的性能不佳

时间:2017-01-16 09:01:15

标签: sql-server

我在用户定义表的连接中表现不佳(当存在多个行时) 阅读其他帖子,如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时,它总是返回错误

0 个答案:

没有答案