• Thanks for the great article and toolkit. Works like a charm.

    I just wanted to share my experience, maybe someone else will make use of it .

    I have an average sized table, about 40,000 rows, and faced a performance issue while trying to use udf_NYSIIS. The query that takes NO time with soundex took like 12 seconds with udf_NYSIIS.

    So I tried a workaround, and added the soundex to my where clause in front of the udf_NYSIIS clause with an AND...

    This way, the lazy SQL processor checked soundex first, and if that one passes, then checked the udf_NYSIIS.

    I was getting the same result again in NO time.

    Try for yourself:

    declare @myname varchar(255)

    declare @mydex varchar(4)

    declare @mydex2 varchar(10)

    set @myname = 'smit' -- your criteria goes here

    set @mydex = soundex(@myname)

    set @mydex2 =  master.dbo.udf_NYSIIS(@myname)

    select * from customers where soundex(lastname)=@mydex

    select * from customers where master.dbo.udf_NYSIIS(lastname)=@mydex2

    select * from customers where soundex(lastname)=@mydex and master.dbo.udf_NYSIIS(lastname)=@mydex2

    Thanks again.

    Duray AKAR