oracle执行计划怎么创建
原创Oracle执行计划创建方法
在Oracle中,执行计划是指数据库优化器为SQL语句选择的访问路径。创建和领会执行计划对于优化SQL性能至关重要。以下是一些创建和查看Oracle执行计划的方法:
1. 使用EXPLAIN PLAN
EXPLAIN PLAN是一个用于生成SQL语句执行计划的伪表,可以使用它来创建执行计划并将其存储在EXPLAIN_PLAN表中。以下是一个示例:
SQL> DECLARE
2 CURSOR c1 IS
3 SELECT /*+ INDEX(cust cust_i1) */
4 cust_id,
5 cust_last_name "Last Name",
6 cust_credit_limit "Credit Limit"
7 FROM
8 sh.customers
9 WHERE
10 cust_city = 'London';
11 t1 sys_planner.table_plan;
12 BEGIN
13 DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE (c1);
14 END;
15 /
2. 使用SET AUTOTRACE
AUTOTRACE是Oracle的一个功能,可以自动显示执行计划和执行统计信息。在SQL*Plus中,可以通过设置AUTOTRACE来查看执行计划:
SQL> SET AUTOTRACE ON
SQL> SELECT /*+ INDEX(cust cust_i1) */
2 cust_id,
3 cust_last_name "Last Name",
4 cust_credit_limit "Credit Limit"
5 FROM
6 sh.customers
7 WHERE
8 cust_city = 'London';
3. 使用DBMS_XPLAN
DBMS_XPLAN是一个PL/SQL包,提供了多种方法来显示和操作执行计划。以下是一个使用DBMS_XPLAN.DISPLAY的方法:
SQL> DECLARE
2 CURSOR c1 IS
3 SELECT /*+ INDEX(cust cust_i1) */
4 cust_id,
5 cust_last_name "Last Name",
6 cust_credit_limit "Credit Limit"
7 FROM
8 sh.customers
9 WHERE
10 cust_city = 'London';
11 BEGIN
12 DBMS_XPLAN.DISPLAY_CURSOR(c1);
13 END;
14 /
这些方法都可以帮助你创建和查看Oracle的执行计划,从而更好地领会和优化SQL语句的性能。