Plan operator
Materialize
Plan node that caches its child's output so it can be re-read multiple times without re-executing.
A Materialize node buffers every row produced by its child into memory (or a temp file) so a parent operator can scan the buffered result more than once. The classic use is the inner side of a Nested Loop join — without materialization, the inner subplan would re-execute for every outer row.
It is not the same as a materialized view. Materialize is a transient cache that lives only for one query execution; nothing is persisted between queries.
Materialize is rarely the source of a real problem on its own, but seeing one in the plan is a hint that a Nested Loop is being used where a Hash Join or Merge Join might be cheaper.