I was trying out following 2 Sql queries. I used AdventureWorks 2005 sample database.
/* Query #1 */
SELECT [SalesOrderID]
,[SalesOrderDetailID]
,[CarrierTrackingNumber]
,[OrderQty]
,[ProductID]
,[SpecialOfferID]
,[UnitPrice]
,[UnitPriceDiscount]
,[LineTotal]
,[rowguid]
,[ModifiedDate]
FROM [AdventureWorks].[Sales].[SalesOrderDetail]
WHERE SUBSTRING([CarrierTrackingNumber],1,4) ='4911'
/* Query #2 */
SELECT [SalesOrderID]
,[SalesOrderDetailID]
,[CarrierTrackingNumber]
,[OrderQty]
,[ProductID]
,[SpecialOfferID]
,[UnitPrice]
,[UnitPriceDiscount]
,[LineTotal]
,[rowguid]
,[ModifiedDate]
FROM [AdventureWorks].[Sales].[SalesOrderDetail]
WHERE [CarrierTrackingNumber] LIKE '4911%'
and I found that time taken by #1 is less than #2 when there is no index on CarrierTrackingNumber. Can anybody tell me this kind of behavior? Does this mean sub string is faster than like for non indexed column?
However as soon as i applied the index #2 is too faster than #1 as we know like works faster on indexed column.