CREATE PROCEDURE ITER$SIMPLE_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   iter$simple_intlist_to_tbl(@str) AS a on u.wordno = a.number

   SELECT @tookms = datediff(ms, @start, getdate());

   SELECT word FROM Int_JOIN
   TRUNCATE TABLE Int_JOIN
go


CREATE PROCEDURE ITER$SIMPLE_Int_UNPACK_test
                 @str    nvarchar(MAX),
                 @tookms int OUTPUT AS

   DECLARE @start datetime
   SELECT @start = getdate()

   INSERT Int_UNPACK(number)
SELECT number
   FROM   iter$simple_intlist_to_tbl(@str)

   SELECT @tookms = datediff(ms, @start, getdate());

   SELECT number FROM Int_UNPACK
   TRUNCATE TABLE Int_UNPACK
go


CREATE PROCEDURE ITER$SIMPLE_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   iter$simple_charlist_to_tbl(@str, DEFAULT) AS a on u.word = a.nstr

   SELECT @tookms = datediff(ms, @start, getdate());

   SELECT wordno FROM Str_JOIN
   TRUNCATE TABLE Str_JOIN
go


CREATE PROCEDURE ITER$SIMPLE_Str_UNPACK_test
                 @str    nvarchar(MAX),
                 @tookms int OUTPUT AS

DECLARE @start datetime
SELECT @start = getdate()

INSERT Str_UNPACK(word)
SELECT nstr
FROM   iter$simple_charlist_to_tbl(@str, DEFAULT)

SELECT @tookms = datediff(ms, @start, getdate());

SELECT word FROM Str_UNPACK

TRUNCATE TABLE Str_UNPACK
go