I maintain the fastest way of splitting a string is a combined process.
1. Pass the string, delim, to clr function
2. The clr function converts each item in to a fixed char width item, eg 20 chars per item.
3. The returned string is split by an inline function querying a tally table using substring.
I've tried all other methods and they are much slower.
Pure clr is slow because it is slow to pass back so many records.
Pure SQL is slow because it is slow at lookup and constructor functions.
Jeff, if you want the exact code, happy to send it through.