### Is your feature request related to a problem or challenge? - part of https://github.com/apache/datafusion/issues/19795 We are trying to make planning faster. One significant cost of planning Physical (`ExecutionPlan`s) is the time spent computing [`PlanProperties`](https://docs.rs/datafusion/latest/datafusion/physical_plan/struct.PlanProperties.html) for example with this benchmark ```shell cargo bench --profile=profiling --bench sql_planner -- physical_plan_clickbench_q7 ``` <img width="2557" height="1326" alt="Image" src="https://github.com/user-attachments/assets/0c94244c-277c-4eb6-a571-74d03d4e4d03" /> While reviewing https://github.com/apache/datafusion/pull/19462 from @askalt , we discussed the idea of optimizing certain parts of planning (for example `ExecutionPlan::with_new_children`) to avoid re-calculating the `PlanProperties` unecessairly) See the conversation starting here https://github.com/apache/datafusion/pull/19462#issuecomment-3699437531 ### Describe the solution you'd like I would like to find some way to avoid recomputing plan properties except when it is necessary ### Describe alternatives you've considered _No response_ ### Additional context Somewhat blocked on - [x] https://github.com/apache/datafusion/issues/19809