Sql 如何改进全文搜索
我有一个SQL Server 2008数据库。此数据库有2个表:Sql 如何改进全文搜索,sql,sql-server,tsql,sql-server-2008,full-text-search,Sql,Sql Server,Tsql,Sql Server 2008,Full Text Search,我有一个SQL Server 2008数据库。此数据库有2个表: Manufacturer ------------ ID, Name nvarchar(256) Product ------- ID ManufacturerID Name nvarchar(256) 我的应用程序有一个搜索框。我不知道用户是要提供制造商名称还是产品名称。此外,我还试图表现得优雅一点,处理拼写错误。为了满足这个标准,我使用CONTAINSTABLE函数。使用此函数,我创建了以下查询: SELECT * F
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函数中执行得非常慢。如果没有第二个内部联接,查询将在不到1秒的时间内运行。在包含第二个内部联接的情况下,查询将在30秒多一点的时间内运行(太长)
有人能提供一些性能建议吗?我不知道如何克服这个障碍
谢谢你,- 只选择所需的字段,而不是
Select*
- m和p上的索引是否已设置