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