0

Hoping someone can shed some light on this one, using MSSQL 2000,

I have a query like this;

Select T.TransactionRecordClass, T.ClassDetail from [remoteserver].otherdb.dbo.Data T where T.TransactionRecordClass like '10000002%'


which will return around 10000 records in under 1 second.
My issue is that I need to make this part of a function, but as soon as I add parameters/variables, it goes from returning in under 1 second, to 11 minutes!!!


DECLARE @TRC_ID nvarchar (9)
SET @TRC_ID = rtrim('10000002') + '%'

Select T.TransactionRecordClass, T.ClassDetail from [remoteserver].otherdb.dbo.Data T where T.TransactionRecordClass like @TRC_ID

There is a non-clustered index on the 2 fields being returned , and about 77 million records in the table. I have attempted using Index hints, but found they are not allowed on remote queries..... So... any clues????

Thanks in advance for any help

1
Contributor
1
Reply
2
Views
10 Years
Discussion Span
Last Post by schismaticus
0

Found a solution... the field type of T.TransactionRecordClass is "char" my variable is declared "nvarchar", but if I declare the variable as "char" then the query time is back to < 1 second.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.