只是要求对2.之间的区别进行澄清2.据我所知,EXPLAIN PLAN为您提供理论执行计划,而DBMS_XPLAN.DISPLAY_CURSOR为您提供了具有该语句执行统计信息的实际执行计划.
EXPLAIN PLAN将此数据存储在PLAN_TABLE中,而DBMS_XPLAN使用V $ SQL_PLAN,V $ SQL_PLAN_STATISTICS和V $ SQL_PLAN_STATISTICS_ALL视图获取其信息.
但是,要使DISPLAY_CURSOR收集该参数的实际运行时统计信息,需要设置/*+ gather_plan_statistics */提示.否则,只填充V $ SQL_PLAN,它只会为您提供执行计划,但不会为您提供实际的执行统计信息.只有/*+ gather_plan_statistics */在填充V $ SQL_PLAN_STATISTICS 的地方.
所以我的问题是,如果我不使用gather_plan_statistics提示,EXPLAIN PLAN和DISPLAY_CURSOR会不会给我相同的执行计划(对于同一个语句)?
任何人都可以告诉我什么时候应该使用gather_plan_statistics提示或何时应该使用解释计划.gather_plan_statistics提示的实际目的是什么.