2012-08-03 49 views
10

我現在正在學習數據庫索引,並且我正試圖理解使用它們的高效性。我怎樣才能看到執行計劃

  • 我想看看一個特定的查詢是否使用索引。
  • 我想實際上看到使用索引執行查詢和不使用索引(所以我想查看我的查詢的執行計劃)之間的區別。

我正在使用sql +

如何查看執行計劃以及在哪裏可以找到告訴我我的索引是否被使用的信息?

+2

http://docs.oracle.com/cd/B19306_01/server.102/b14211/ex_plan.htm – Ollie 2012-08-03 16:15:29

回答

21

嘗試使用此代碼先解釋一下,然後看看計劃:

解釋計劃:

explain plan 
for 
select * from table_name where ...; 

見計劃:

select * from table(dbms_xplan.display); 

編輯:刪除了括號

+3

注意括號i當然頂部查詢不需要 – Craig 2012-08-03 18:10:32

+0

......這樣看起來很好。不是嗎? – 2012-08-03 18:25:37

+0

哈哈..是的..我只是說OP,以防萬一他們的查詢很大,這是一個痛苦加在parens。 – Craig 2012-08-03 19:34:25

3

看看Explain Plan。 EXPLAIN可以在許多數據庫類型中使用。

對於sqlPlus,具體請參見sqlplus的AUTO TRACE工具。