国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle9i的新特性索引跳躍式掃描的實(shí)現(xiàn)

瀏覽:162日期:2023-11-26 12:36:11
索引跳躍式掃描(index skip scan)是Oracle9i用來提高性能的新特性,對于使用復(fù)合索引的數(shù)據(jù)庫應(yīng)用程序意義尤為重大。 復(fù)合索引(又稱為連接索引)是一個(gè)包含多個(gè)字段的索引。在ORACLE9i以前的ORACLE版本里,只有那些在WHERE子句里引用整個(gè)索引或者是引用索引的一個(gè)或多個(gè)前導(dǎo)字段的查詢,才能使復(fù)合索引有效而提高檢索效率。而在ORACLE9i里,一個(gè)復(fù)合索引即使在一次查詢中沒有使用前導(dǎo)字段,也可能通過“索引跳躍式掃描”被有效引用。在一次跳躍式掃描中,每個(gè)復(fù)合索引前導(dǎo)字段的獨(dú)特值(DISTINCT VALUE)只會被搜索一次,ORACLE9i會在復(fù)合索引前導(dǎo)字段每個(gè)獨(dú)特值區(qū)間結(jié)合WHERE子句中的其它復(fù)合索引字段搜索符合條件的目標(biāo)記錄,這種做法的結(jié)果導(dǎo)致了在索引中的跳躍式掃描。 索引跳躍式掃描主要有兩個(gè)優(yōu)點(diǎn): 1、以前版本中的表掃描(TABLE SCAN)可能會轉(zhuǎn)變?yōu)樗饕龗呙瑁岣吡四承┎樵兊膱?zhí)行效率; 2、應(yīng)用程序使用較少的索引就能達(dá)到提高效能的目的,并且既節(jié)省存儲空間,又能提高DML和維護(hù)操作的效率。 假設(shè)有一個(gè)汽車注冊信息的表,包含了250萬條紀(jì)錄,結(jié)構(gòu)如下:REGISTERED_OWNERS (STATE VARCHAR2(2) NOT NULL, REGISTRATION# VARCHAR2(10) NOT NULL, FIRST_NAME VARCHAR2(30), LAST_NAME VARCHAR2(30), MAKE VARCHAR2(30), MODEL VARCHAR2(15), YEAR_MFG NUMBER, CITY VARCHAR2(30), ZIP NUMBER)進(jìn)一步假設(shè)在字段(STATE,REGISTRATION#)上存在一個(gè)復(fù)合索引,那么下面語句的執(zhí)行速度會有很大提高:SELECT first_name, last_name, zip FROM REGISTERED_OWNERS WHERE registration# = '4FBB428'使用索引查詢速度大約可以提高90倍,在ORACLE8i(索引跳躍式掃描)中,這個(gè)查詢需要21.42秒,而同樣的硬件配置使用ORACLE9i只需要0.24秒。 索引跳躍式掃描非常有效,對用戶和應(yīng)用程序而言是透明的,并且不需要使用額外的新索引就能提高數(shù)據(jù)庫的性能,有些時(shí)候甚至可以答應(yīng)移除某些索引而不會對性能有太大影響。
標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 肥西县| 北票市| 平山县| 若尔盖县| 淄博市| 闵行区| 黄山市| 海门市| 新化县| 荆门市| 勐海县| 平凉市| 横峰县| 娄底市| 安阳县| 定安县| 海丰县| 年辖:市辖区| 深圳市| 济阳县| 茶陵县| 安福县| 盱眙县| 济宁市| 温泉县| 永年县| 凤城市| 宾阳县| 巴马| 蕲春县| 烟台市| 陆良县| 吉林省| 潼南县| 正安县| 科技| 辽源市| 隆林| 韩城市| 清徐县| 西丰县|