程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 代碼講解Oracle可選擇性

代碼講解Oracle可選擇性

編輯:Oracle數據庫基礎

Oracle還是比較常用的,於是我研究了一下Oracle可選擇性,本文比較一下列中唯一鍵的數量和表中的行數,就可以判斷該列的Oracle可選擇性,在這裡拿出來和大家分享一下,希望對大家有用。

  • 閒扯Oracle SQL語句解析步驟
  • 詳聊驗證Oracle SQL語句
  • Oracle密碼文件學習心得
  • 數據庫管理員的Oracle密碼破解
  • 簡單描述Oracle編碼SQL
如果該列的”唯一鍵的數量/表中的行數”的比值越接近1,則該列的Oracle可選擇性越高,該列就越適合創建索引,同樣索引的Oracle可選擇性也越高。在Oracle可選擇性高的列上進行查詢時,返回的數據就較少,比較適合使用索引查詢。

有了這些背景知識後就開始介紹執行計劃。為了執行語句,Oracle可能必須實現許多步驟。這些步驟中的每一步可能是從數據庫中物理檢索數據行,或者用某種方法准備數據行,供發出語句的用戶使用。

Oracle用來執行語句的這些步驟的組合被稱之為執行計劃。執行計劃是SQL優化中最為復雜也是最為關鍵的部分,只有知道了Oracle在內部到底是如何執行該SQL語句後,我們才能知道優化器選擇的執行計劃是否為最優的。執行計劃對於DBA來說,就象財務報表對於財務人員一樣重要。所以我們面臨的問題主要是:如何得到執行計劃;如何分析執行計劃,從而找出影響性能的主要問題。下面先從分析樹型執行計劃開始介紹,然後介紹如何得到執行計劃,再介紹如何分析執行計劃。

舉例:

這個例子顯示關於下面SQL語句的執行計劃。

  1. SELECT ename, job, sal, dname  
  2.  
  3. FROM emp, dept  
  4.  
  5. WHERE emp.deptno = derpt.deptno  
  6.  
  7. AND NOT EXISTS  
  8.  
  9. ( SELECT *  
  10.  
  11. FROM salgrade  
  12.  
  13. WHERE emp.sal BETWEEN losal AND hisal ); 

此語句查詢薪水不在任何建議薪水范圍內的所有雇員的名字,工作,薪水和部門名。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved