我正在学习有关数据库索引,现在,我想了解高效使用它们的。
- 我想看到一个特定的查询是否使用索引。
- 我想真正看到执行使用索引的查询之间的区别,并且不使用指数(所以我想看看我的查询的执行计划)。
我使用SQL +。
如何查看执行计划以及是否使用与否我在哪里可以在里面找到的信息,告诉我,我的指标?
我正在学习有关数据库索引,现在,我想了解高效使用它们的。
我使用SQL +。
如何查看执行计划以及是否使用与否我在哪里可以在里面找到的信息,告诉我,我的指标?
尝试使用此代码先解释一下,然后看看这个计划:
解释计划:
explain plan
for
select * from table_name where ...;
见计划:
select * from table(dbms_xplan.display);
编辑:删除了括号
看看解释计划 。 EXPLAIN在许多DB类型的作品。
对于SQLPLUS具体请见sqlplus中的自动跟踪设施。
试试这个:
http://www.dba-oracle.com/t_explain_plan.htm
执行计划会提到它时使用的指标。 刚刚通过的执行计划读取。
SQL> explain plan for 2
select * from hr.employees;
解释。
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 1445457117
-------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 107 | 7704 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMPLOYEES | 107 | 7704 | 3 (0)| 00:00:01 |
-------------------------------------------------------------------------------
8 rows selected.
要么
SQL> set autotrace traceonly explain
SQL> select * from hr.employees;
Execution Plan
----------------------------------------------------------
Plan hash value: 1445457117
-------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 107 | 7704 | 3 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL| EMPLOYEES | 107 | 7704 | 3 (0)| 00:00:01 |
https://wordpress.com/post/cevikfaruk.wordpress.com/277