国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

ORACLE9i新特性 索引跳躍式掃描的實現

2024-08-29 13:42:15
字體:
來源:轉載
供稿:網友
索引跳躍式掃描(index skip scan)是Oracle9i用來提高性能的新特性,對于使用復合索引的數據庫應用程序意義尤為重大。
  
  復合索引(又稱為連接索引)是一個包含多個字段的索引。在ORACLE9i以前的ORACLE版本里,只有那些在WHERE子句里引用整個索引或者是引用索引的一個或多個前導字段的查詢,才能使復合索引有效而提高檢索效率。而在ORACLE9i里,一個復合索引即使在一次查詢中沒有使用前導字段,也可能通過“索引跳躍式掃描”被有效引用。在一次跳躍式掃描中,每個復合索引前導字段的獨特值(DISTINCT VALUE)只會被搜索一次,ORACLE9i會在復合索引前導字段每個獨特值區間結合WHERE子句中的其它復合索引字段搜索符合條件的目標記錄,這種做法的結果導致了在索引中的跳躍式掃描。
  
  索引跳躍式掃描主要有兩個優點:
  1、以前版本中的表掃描(TABLE SCAN)可能會轉變為索引掃描,提高了某些查詢的執行效率;
  2、應用程序使用較少的索引就能達到提高效能的目的,并且既節省存儲空間,又能提高DML和維護操作的效率。
  
  假設有一個汽車注冊信息的表,包含了250萬條紀錄,結構如下:
  
  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)
  
  進一步假設在字段(STATE,REGISTRATION#)上存在一個復合索引,那么下面語句的執行速度會有很大提高:
  SELECT first_name, last_name, zip FROM REGISTERED_OWNERS
  WHERE registration# = '4FBB428'
  使用索引查詢速度大約可以提高90倍,在ORACLE8i(索引跳躍式掃描)中,這個查詢需要21.42秒,而同樣的硬件配置使用ORACLE9i只需要0.24秒。
  
  索引跳躍式掃描非常有效,對用戶和應用程序而言是透明的,并且不需要使用額外的新索引就能提高數據庫的性能,有些時候甚至可以答應移除某些索引而不會對性能有太大影響   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 克什克腾旗| 同德县| 沅江市| 罗定市| 平武县| 教育| 耒阳市| 海阳市| 元氏县| 开封县| 临澧县| 格尔木市| 襄汾县| 礼泉县| 防城港市| 隆德县| 松原市| 滦平县| 大庆市| 禹州市| 夏河县| 新野县| 贡嘎县| 苗栗市| 彩票| 永宁县| 分宜县| 南召县| 泗阳县| 鹿泉市| 浦北县| 桐城市| 武安市| 武宣县| 鲁山县| 翼城县| 云南省| 兴化市| 曲阳县| 油尖旺区| 东城区|