CREATE PROCEDURE XMLATTR$TVAR_Int_JOIN_test @str xml,
@tookms int OUTPUT AS
DECLARE @start datetime
SELECT @start = getdate()
DECLARE @data TABLE (num int NOT NULL)
INSERT @data (num)
SELECT T.Item.value('@num', 'int')
FROM @str.nodes('/Root/Num') AS T(Item)
INSERT Int_JOIN(word)
SELECT u.word
FROM usrdictwords u
JOIN @data d ON u.wordno = d.num
SELECT @tookms = datediff(ms, @start, getdate());
SELECT word FROM Int_JOIN
TRUNCATE TABLE Int_JOIN
go
CREATE PROCEDURE XMLATTR$TVAR_Str_JOIN_test @str xml,
@tookms int OUTPUT AS
DECLARE @start datetime
SELECT @start = getdate()
DECLARE @data TABLE (str nvarchar(50) NOT NULL)
INSERT @data (str)
SELECT T.Item.value('@Item', 'nvarchar(50)')
FROM @str.nodes('/Root/Word') AS T(Item)
INSERT Str_JOIN(wordno, guid)
SELECT u.wordno, u.guid
FROM usrdictwords u
JOIN @data d ON u.word = d.str
SELECT @tookms = datediff(ms, @start, getdate());
SELECT wordno FROM Str_JOIN
TRUNCATE TABLE Str_JOIN
go