سلام
collation دیتابیس من Arabic_CI_AS است. من یک لینک دارم به یک دیتابیس دیگر با SQL_Latin1_General_CP1_CI_AS .
جدول دیتابیس دوم مربوط به یک نرم افزار اسپانیایی گران قیمت است و ما اجازه دستکاری در آن را نداریم!
من برای جستجو از این کوئری استفاده می کنم:
SELECT TOP(200) T1.[Id],T1.[Name],T2.CustomerName,[UserId],FORMAT([OrderTime],'yyyy/MM/dd-HH:mm','fa') [OrderTime]
,FORMAT(LastDate,'yyyy/MM/dd-HH:mm','fa') LastDate,PriceListNo
FROM tblProjects T1
INNER JOIN tblCustomers T2 ON T1.CustomerId=T2.id
LEFT JOIN vwLantekLast T3 ON T1.Name=T3.JobRef COLLATE SQL_Latin1_General_CP1_CI_AS
قبل از اینکه بخواهم داده ای از جدول vwLantekLast (در واقع ویو است) به این کوئری جوین کنم با سرعت بسیار خوبی اجرا میشد. vwLantekLast هم به تنهایی با سرعت بسیار بالایی باز میشود. اما چون فیلدهای مورد نیاز در جوین از یک collation نیستند این 200 ردیف را در 6 ثانیه برمیگرداند!! که خیلی کند است!
نوع هر دو فیلد هم varchar است و محتوی آن انگلیسی است. مثلا JOB000123
راه بهتری سراغ دارید؟