0
我有一個SQL Server 2008數據庫。這個數據庫有2個表:如何改進全文搜索
Manufacturer
------------
ID,
Name nvarchar(256)
Product
-------
ID
ManufacturerID
Name nvarchar(256)
我的應用程序有一個搜索框。我不知道用戶是否要提供製造商名稱或產品名稱。另外,我正在努力使自己有點優雅並處理錯誤的拼寫。爲了達到這個標準,我使用了CONTAINSTABLE函數。使用此功能,我創建了以下查詢:
SELECT
*
FROM
[Manufacturer] m
INNER JOIN [Product] p ON m.[ID]=p.[ManufacturerID]
INNER JOIN CONTAINSTABLE(Manufacturer, Name, @searchQuery) r ON m.[ID]=r.[Key]
ORDER BY
r.[Rank]
我的查詢使用CONTAINSTABLE函數執行VERY SLOW。沒有第二個INNER JOIN,查詢運行時間不到1秒。隨着包含第二個INNER JOIN,查詢運行時間超過30秒(太長)。
任何人都可以提供一些性能建議嗎?我不知道如何克服這個障礙。
謝謝
感謝您的回覆。我只選擇我需要的字段。另外,索引已經設定好了。這就是爲什麼我對此感到困惑。 – Villager 2010-08-16 12:38:05
您正在運行SELECT * - 您確實需要這些嗎? – Tobiasopdenbrouw 2010-08-17 11:44:44