CREATE PROCEDURE CTE$IL_Int_JOIN_test
@str nvarchar(MAX),
@tookms int OUTPUT AS
DECLARE @start datetime
SELECT @start = getdate()
INSERT Int_JOIN(word)
SELECT u.word
FROM usrdictwords u
JOIN cte_split_inline(@str, DEFAULT) AS a on u.wordno = convert(int, a.Value)
OPTION (MAXRECURSION 0)
SELECT @tookms = datediff(ms, @start, getdate());
SELECT word FROM Int_JOIN
TRUNCATE TABLE Int_JOIN
go
CREATE PROCEDURE CTE$IL_Int_UNPACK_test
@str nvarchar(MAX),
@tookms int OUTPUT AS
DECLARE @start datetime
SELECT @start = getdate()
INSERT Int_UNPACK(number)
SELECT number = convert(int, Value)
FROM cte_split_inline(@str, DEFAULT)
OPTION (MAXRECURSION 0)
SELECT @tookms = datediff(ms, @start, getdate());
SELECT number FROM Int_UNPACK
TRUNCATE TABLE Int_UNPACK
go
CREATE PROCEDURE CTE$IL_Str_JOIN_test
@str nvarchar(MAX),
@tookms int OUTPUT AS
DECLARE @start datetime
SELECT @start = getdate()
INSERT Str_JOIN(wordno, guid)
SELECT u.wordno, u.guid
FROM usrdictwords u
JOIN cte_split_inline(@str, DEFAULT) AS a on u.word = a.Value
OPTION (MAXRECURSION 0)
SELECT @tookms = datediff(ms, @start, getdate());
SELECT wordno FROM Str_JOIN
TRUNCATE TABLE Str_JOIN
go
CREATE PROCEDURE CTE$IL_Str_UNPACK_test
@str nvarchar(MAX),
@tookms int OUTPUT AS
DECLARE @start datetime
SELECT @start = getdate()
INSERT Str_UNPACK(word)
SELECT Value
FROM cte_split_inline(@str, DEFAULT)
OPTION (MAXRECURSION 0)
SELECT @tookms = datediff(ms, @start, getdate());
SELECT word FROM Str_UNPACK
TRUNCATE TABLE Str_UNPACK
go