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