Bir çeşit IDE (örneğin, Oracle'ın SQL Developer'ı, Allround Automations'dan PL/SQL Developer, Toad vb.) Kullanıyorsanız, bunların her birinin bir planın planını dökmesi için bir yolu vardır. menüler ve çevrimiçi yardım.
Eğer (Dost komut satırına "sql" yazmayı deneyin) Eğer üzerinde Autotrace açmak için deyimi yürütme ve planın basılmalıdır SQL * içine almak Artı Eğer.
SQL> set autotrace on
SQL> select * from dept where deptno = 40;
DEPTNO DNAME LOC
---------- -------------- -------------
40 OPERATIONS BOSTON
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=1 Card=1 Bytes=18)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (Cost=1 Card=1 Bytes=18)
2 1 INDEX (UNIQUE SCAN) OF 'PK_DEPT' (UNIQUE)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
2 consistent gets
0 physical reads
0 redo size
499 bytes sent via SQL*Net to client
503 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
olduğu gibi bu Mahallenin iyi DBA bu özelliği etkinleştirmek için gerekli büyülü sözleri gerçekleştirmiş olduğunu varsayar.
SQL> EXPLAIN PLAN FOR select * from dept where deptno = 40;
Explained.
SQL> set linesize 132
SQL> SELECT * FROM TABLE(dbms_xplan.display);
PLAN_TABLE_OUTPUT
---------------------------------------------------------------------------------------
Plan hash value: 2852011669
---------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 20 | 1 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| DEPT | 1 | 20 | 1 (0)| 00:00:01 |
|* 2 | INDEX UNIQUE SCAN | PK_DEPT | 1 | | 0 (0)| 00:00:01 |
---------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("DEPTNO"=40)
14 rows selected.
Paylaşma ve tadını çıkarın: Bu yapıldığında, ya da sadece bunu yapmak için bir yol daha (tm) istiyorum değilse, sizin için önemli olan sorguyu yerine, aşağıdaki gibi bir şey deneyin.
belirli bir sorgu dizinini kullanır soruyorsun ya hiç endeksi kullanan tüm sorgular varsa? –
belli indeksi kullanılan tüm herhangi sorgular olsaydı Evet ... soruyordu. Robert tarafından aşağıda cevap Bob ... Sorum olsa farklı küçükken sağ uyum :-) – Guddu