24周年

財(cái)稅實(shí)務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶掃碼下載
立享專屬優(yōu)惠

安卓版本:8.7.50 蘋(píng)果版本:8.7.50

開(kāi)發(fā)者:北京正保會(huì)計(jì)科技有限公司

應(yīng)用涉及權(quán)限:查看權(quán)限>

APP隱私政策:查看政策>

HD版本上線:點(diǎn)擊下載>

代碼講解Oracle可選擇性

來(lái)源: 51cto 編輯: 2009/11/16 09:28:38  字體:

  這里介紹Oracle可選擇性越高,該列就越適合創(chuàng)建索引,同樣索引的Oracle可選擇性也越高。在Oracle可選擇性高的列上進(jìn)行查詢時(shí),返回的數(shù)據(jù)就較少,比較適合使用索引查詢。

  Oracle還是比較常用的,于是我研究了一下Oracle可選擇性,本文比較一下列中唯一鍵的數(shù)量和表中的行數(shù),就可以判斷該列的Oracle可選擇性,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。

  如果該列的“唯一鍵的數(shù)量/表中的行數(shù)”的比值越接近1,則該列的Oracle可選擇性越高,該列就越適合創(chuàng)建索引,同樣索引的Oracle可選擇性也越高。在Oracle可選擇性高的列上進(jìn)行查詢時(shí),返回的數(shù)據(jù)就較少,比較適合使用索引查詢。

  有了這些背景知識(shí)后就開(kāi)始介紹執(zhí)行計(jì)劃。為了執(zhí)行語(yǔ)句,Oracle可能必須實(shí)現(xiàn)許多步驟。這些步驟中的每一步可能是從數(shù)據(jù)庫(kù)中物理檢索數(shù)據(jù)行,或者用某種方法準(zhǔn)備數(shù)據(jù)行,供發(fā)出語(yǔ)句的用戶使用。

  Oracle用來(lái)執(zhí)行語(yǔ)句的這些步驟的組合被稱之為執(zhí)行計(jì)劃。執(zhí)行計(jì)劃是SQL優(yōu)化中最為復(fù)雜也是最為關(guān)鍵的部分,只有知道了Oracle在內(nèi)部到底是如何執(zhí)行該SQL語(yǔ)句后,我們才能知道優(yōu)化器選擇的執(zhí)行計(jì)劃是否為最優(yōu)的。執(zhí)行計(jì)劃對(duì)于DBA來(lái)說(shuō),就象財(cái)務(wù)報(bào)表對(duì)于財(cái)務(wù)人員一樣重要。所以我們面臨的問(wèn)題主要是:如何得到執(zhí)行計(jì)劃;如何分析執(zhí)行計(jì)劃,從而找出影響性能的主要問(wèn)題。下面先從分析樹(shù)型執(zhí)行計(jì)劃開(kāi)始介紹,然后介紹如何得到執(zhí)行計(jì)劃,再介紹如何分析執(zhí)行計(jì)劃。

  舉例:

  這個(gè)例子顯示關(guān)于下面SQL語(yǔ)句的執(zhí)行計(jì)劃。

  SELECT ename, job, sal, dname

  FROM emp, dept

  WHERE emp.deptno = derpt.deptno

  AND NOT EXISTS

  ( SELECT * FROM salgrade WHERE emp.sal BETWEEN losal AND hisal );

  此語(yǔ)句查詢薪水不在任何建議薪水范圍內(nèi)的所有雇員的名字,工作,薪水和部門(mén)名。

責(zé)任編輯:zoe
回到頂部
折疊
網(wǎng)站地圖

Copyright © 2000 - yinshua168.com.cn All Rights Reserved. 北京正保會(huì)計(jì)科技有限公司 版權(quán)所有

京B2-20200959 京ICP備20012371號(hào)-7 出版物經(jīng)營(yíng)許可證 京公網(wǎng)安備 11010802044457號(hào)