I’m looking to build a query that will use the non-clustered indexing plan on a street address field that is built with a non-clustered index. The problem I’m having is that if I’m searching for a street address I will most likely be using the ‘like’ eval function. I’m thinking that using this function will cause a table scan instead of using the index. How would I go about writing one in this case? Is it just pointless to put a non-clustered index on an address3 field? Thanks in advance.
Share
In theory the database will use whatever index is best. What database server are you using, what are you really trying to achieve, and what is your LIKE statement going to be like? For instance, where the wildcard characters are can make a difference to the query plan that is used.
Other possibilities depending on what you want to achieve are performing some pre-processing of the data and having other columns that are useful for your search, or using an indexed view.
Here’s some discussion on the use of indexes with SQL Server 2005 and varchar fields.