SQL recursivo para dividir CSV en filas de tabla

Después de trabajar en una pregunta diferente aquí sobre SO, me topé con CTE recursivos que en la superficie parecerían una forma bastante fácil de resolver el problema "Dividir un csv en filas de tabla".

Puse este ejemplo juntos

DECLARE @InputString varchar(255) = 'a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z'

SELECT @InputString = @InputString + ','
;
with MyCTE(x,y)
as 
(
    SELECT 
        x = SUBSTRING(@InputString,0,PATINDEX('%,%',@InputString)),
        y = SUBSTRING(@InputString,PATINDEX('%,%',@InputString)+1,LEN(@InputString))
    UNION ALL
        SELECT 
            x = SUBSTRING(y,0,PATINDEX('%,%',y)),
            y = SUBSTRING(y,PATINDEX('%,%',y)+1,LEN(y))
        FROM 
            MyCTE 
        WHERE
                SUBSTRING(y,PATINDEX('%,%',y)+1,LEN(y)) <> '' OR 
            SUBSTRING(y,0,PATINDEX('%,%',y)) <> ''
)
SELECT x FROM MyCTE
OPTION (MAXRECURSION 2000);
GO

¿Es realmente una mala idea? ¿Cuál es la sobrecarga en SQL para consultas recursivas como esta y cuáles son las posibles dificultades para este tipo de enfoque?

or cierto, estoy pensando que esta idea / técnica probablemente podría aprovecharse para resolver estootr pregunta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta