CREATE PROCEDURE FIX$TMPTBL_Int_JOIN_test
                 @str    nvarchar(MAX),
                 @tookms int OUTPUT AS

DECLARE @start datetime
SELECT @start = getdate()

CREATE TABLE #fixint(value int NOT NULL)

INSERT #fixint(value)
   SELECT convert(int, str) FROM fixstring_single(@str, 9)

INSERT Int_JOIN(word)
SELECT u.word
FROM   usrdictwords u
JOIN   #fixint AS f ON u.wordno = f.value

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

SELECT word FROM Int_JOIN
TRUNCATE TABLE Int_JOIN
go


CREATE PROCEDURE FIX$TMPTBL_Str_JOIN_test
                 @str    nvarchar(MAX),
                 @tookms int OUTPUT AS

DECLARE @start datetime
SELECT @start = getdate()

CREATE TABLE #fixstr (str nvarchar(30) COLLATE database_default NOT NULL)

INSERT #fixstr(str)
   SELECT str FROM fixstring_single(@str, 30)

INSERT Str_JOIN(wordno, guid)
SELECT u.wordno, u.guid
FROM   usrdictwords u
JOIN   #fixstr AS f on u.word = f.str

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

SELECT wordno FROM Str_JOIN
TRUNCATE TABLE Str_JOIN
go