Functions, functions, functions

sp_BlitzCache warns about two things:

  1. UDFs
  2. CLR UDFs

For Regular UDFs

There can be serious performance consequences when using Scalar and Multi-Statement Table Valued Functions.

  • Inhibit parallelism
  • Run once per row returned
  • Cause poor cardinality estimates

You may even see these warnings alongside a warning for Forced Serialization.

Read more here:
Are SQL Server Functions Dragging Your Query Down?
Still Serial After All These Years
Another Hidden Parallelism Killer: Scalar UDFs In Check Constraints
Another reason why scalar functions in computed columns is a bad idea

For CLR UDFs

They don’t have nearly as many problems, as long as they’re not marked as performing data access. Then they have all the same problems.