是否有更快的替代Substring功能?

时间:2017-02-28 18:02:28

标签: sql sql-server ssrs-2012 substr

我有一个SSRS报告,它将一串县传递给存储过程。由于我必须构建报告的方式,我需要向县附加36个字符的GUID。然后我使用子字符串函数剥离存储过程中的GUID:

and county IN(Select substring(item, 1, LEN(item)-36) from fnsplit(@County, ',')

该报告在大约8秒内运行,这是对REPLACE功能的巨大改进。但我还是希望让它跑得更快。有谁知道更好的方法吗?我不允许在表格中包含索引,所以这不是一个选项。

1 个答案:

答案 0 :(得分:0)

如果先将其加载到表变量中,然后再加入内部联接,则可能会最大化速度。

DECLARE @COUNTYLIST TABLE ([County] varchar(36) PRIMARY KEY);
INSERT INTO @COUNTYLIST ([County])
    Select substring(item, 1, LEN(item)-36) from fnsplit(@County, ',')

SELECT ...
FROM ... INNER JOIN @COUNTYLIST as [CountyList] 
    ON ...[County] = [CountyList].[County]