SELECT RowId, ContractNo, SystemId, ItemNumber, Description, Price FROM AlertData WHERE ContractNo LIKE @sSearchVal UNION SELECT RowId, ContractNo, SystemId, ItemNumber, Description, Price FROM AlertData WHERE ItemNumber LIKE @sSearchVal UNION SELECT RowId, ContractNo, SystemId, ItemNumber, Description, Price FROM AlertData WHERE Description LIKE @sSearchValThe reason this might be faster is that SQL server might optimize and run each SQL select independently. SQL server then can use an index scan to search for the value which is slower than index seeks, but far faster than a table scan (because of the OR statements) your example probably is using.
>DECLARE @sSearchVal NVARCHAR(50) >SET @sSearchVal = '%sun%' > >SELECT RowId, ContractNo, SystemId, ItemNumber, Description, Price > FROM AlertData > WHERE ContractNo LIKE @sSearchVal OR > ItemNumber LIKE @sSearchVal OR > Description LIKE @sSearchVal > >>