I have a stored proc that searches for products (250,000 rows) using a full text index.
The stored proc takes a parameter that is the full text search condition. This pa
You've introduced an OR condition. In most cases it is simply much faster to check explicitly for NULL and perform one query vs your method.
For instance try this:
IF @Filter IS NULL
BEGIN
SELECT TOP 100 ID FROM dbo.Products
END
ELSE
BEGIN
SELECT TOP 100 ID FROM dbo.Products
WHERE @Filter CONTAINS(Name, @Filter)
END