I would assume with new extended event Microsoft would make our lives easier. One of the things which I wish while performance tuning is the ability to collect actual execution plan to figure out where the misestimate happened and where SQL Server messed up. With extended events I thought this issue of collecting actual plan would be a thing of the past. But no. It has to come with this warning and performance impact.
Using this event can have a significant performance overhead so it should only be used when troubleshooting or monitoring specific problems for brief periods of time.
If only extended events did not collect all the default fields before predicate evaluation. Why does they go and collect a bunch of fields that people might not need. Why wouldn’t they just evaluate the predicate first and go and collect only the fields that users select just like actions.
If they did that we be able to use query_post_execution_showplan
with stricter predicates with less fear of affecting performance.