TheSQLGuru (3/30/2010)
IIRC the two you mention as being useful and cool still carry the downside of preventing parallel query plans at a minimum.
I know why you say that, since all T-SQL UDFs, and CLR UDFs that perform data access force a serial plan.
TVFs force a serial zone within a plan that may be parallel outside that zone.
In-line T-SQL TVFs are expanded like a (parameterized view), and do not prevent a parallel plan, or force a serial zone.
CLR scalar UDFs are fully parallelizable unless passed a MAX data type as a parameter.
edit: to add the important word 'scalar' at the end there...