亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

關于Oracle 9i 跳躍式索引掃描(Index Skip Scan)的小測試

2024-08-29 13:49:16
字體:
來源:轉載
供稿:網友

  

在Oracle9i中我們知道能夠使用跳躍式索引掃描(Index Skip Scan).然而,能利用跳躍式索引掃描的情況其實是有些限制的.

從Oracle的文檔中我們可以找到這樣的話:

Index Skip Scans
Index skip scans imPRove index scans by nonprefix columns.
Often, scanning index blocks is faster than scanning table data blocks.
Skip scanning lets a composite index be split logically into smaller subindexes.
In skip scanning, the initial column of the composite index is not specified in the query.
In other Words, it is skipped.

The number of logical subindexes is determined by the number of distinct values in the initial column.
Skip scanning is advantageous if there are few distinct values in the leading column of the composite
index and many distinct values in the nonleading key of the index.

也可以這樣說,優化器根據索引中的前導列(索引到的第一列)的唯一值的數量決定是否使用Skip Scan.

我們首先做個測試:

SQL> CREATE TABLE test AS
  2  SELECT ROWNUM a,ROWNUM-1 b ,ROWNUM-2 c,ROWNUM-3 d,ROWNUM-4 e
  3  FROM all_objects
  4  /

SQL> SELECT DISTINCT COUNT (a) FROM test;

  COUNT(A)
----------
     28251

表已創建。

SQL>
SQL> CREATE INDEX test_idx ON test(a,b,c)
  2  /

索引已創建。

SQL> ANALYZE TABLE test COMPUTE STATISTICS
  2  FOR TABLE
  3  FOR ALL INDEXES
  4  FOR ALL INDEXED COLUMNS
  5  /

表已分析。

SQL> SET autotrace traceonly eXPlain
SQL> SELECT *  FROM test WHERE b = 99
  2  /

Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=36 Card=1 Bytes=26)
   1    0 TABLE access (FULL) OF 'TEST' (Cost=36 Card=1 Bytes=26)

--可見這里CBO選擇了全表掃描.

--我們接著做另一個測試:

SQL> drop table test;

表已丟棄。

SQL> CREATE TABLE test
  2  AS
  3  SELECT DECODE(MOD(ROWNUM,2), 0, '1', '2' ) a,
  4                    ROWNUM-1 b,
  5                    ROWNUM-2 c,
  6                    ROWNUM-3 d,
  7                    ROWNUM-4 e
  8    FROM all_objects
  9  /

表已創建。


SQL> set autotrace off
SQL> select distinct a from test;

A
--
1
2

--A列只有兩個唯一值

SQL> CREATE INDEX test_idx ON test(a,b,c)
  2  /

索引已創建。


SQL> ANALYZE TABLE test COMPUTE STATISTICS
  2  FOR TABLE
  3  FOR ALL INDEXES
  4  FOR ALL INDEXED COLUMNS
  5  /

表已分析。

SQL> set autotrace traceonly explain
SQL> SELECT *  FROM test WHERE b = 99
  2  /

Execution Plan
----------------------------------------------------------
   0      SELECT STATEMENT Optimizer=CHOOSE (Cost=4 Card=1 Bytes=24)
   1    0   TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=4 Card=1 Bytes=24)
   2    1     INDEX (SKIP SCAN) OF 'TEST_IDX' (NON-UNIQUE) (Cost=3 Card=1)

 

Oracle的優化器(這里指的是CBO)能對查詢應用Index Skip Scans至少要有幾個條件:

1 優化器認為是合適的.
2 索引中的前導列的唯一值的數量能滿足一定的條件.
3 優化器要知道前導列的值分布(通過分析/統計表得到)
4 合適的SQL語句
......


更多信息請參考:

http://www.itpub.net/showthread.php?threadid=85948

http://www.cnoug.org/bin/ut/topic_show.cgi?id=608&h=1&bpg=1&age=100

http://www.itpub.net/showthread.php?s=&postid=985602#post985602

Oracle9i Database Performance Tuning Guide and Reference Release 2 (9.2)
Part Number A96533-02

感謝參加討論的各位高手.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线影院在线视频| 欧美性高跟鞋xxxxhd| 精品中文字幕久久久久久| 午夜精品久久久久久99热| 欧美视频在线观看免费| 亚洲一区www| 欧美高清在线播放| 日韩在线播放一区| 亚洲精品电影久久久| 一区二区成人av| 韩国国内大量揄拍精品视频| 国产丝袜精品第一页| 亚洲аv电影天堂网| 性色av香蕉一区二区| 裸体女人亚洲精品一区| 久久亚洲精品视频| 国产精品视频xxxx| 成人精品视频99在线观看免费| 高清一区二区三区四区五区| 日本sm极度另类视频| 亚洲国产精品va在线看黑人| 久久久久久18| www.欧美精品| 久久成人国产精品| 国产精品高精视频免费| 97精品国产97久久久久久春色| 欧美在线中文字幕| 日韩av中文字幕在线| 国产欧美日韩精品专区| 成人免费在线网址| 精品久久久久久中文字幕一区奶水| 国产精品99久久99久久久二8| 欧美成在线视频| 国产丝袜一区二区| 91成人精品网站| 国产精品va在线| 亚洲免费人成在线视频观看| 日韩毛片在线观看| 亚洲精品日韩激情在线电影| 九九热在线精品视频| 欧美精品一区三区| 91精品免费视频| 欧美性高潮在线| 久久人人爽人人爽人人片亚洲| 日韩av在线影视| 欧美丰满老妇厨房牲生活| 热久久这里只有精品| 日韩美女视频中文字幕| 91免费人成网站在线观看18| 欧美日韩成人网| 欧美做受高潮1| 91国产视频在线| 欧美激情成人在线视频| 日韩av成人在线观看| 国产成人中文字幕| 成人h视频在线| 国产一区二区三区三区在线观看| 久久久久久网站| 97精品久久久| 国产精品va在线播放我和闺蜜| 国产一区二区丝袜| 久久久免费观看视频| 久久全国免费视频| 国产99视频在线观看| 国产亚洲精品美女| 亚洲欧洲第一视频| 欧美猛男性生活免费| 欧美成人黑人xx视频免费观看| 久久久久久久色| 久久久久久香蕉网| 亚洲精品日韩激情在线电影| 精品国产乱码久久久久久虫虫漫画| 欧亚精品中文字幕| 欧美日韩国产中字| 最新69国产成人精品视频免费| 欧美福利视频网站| 欧美在线视频一区二区| 久久在精品线影院精品国产| 日韩美女激情视频| 成人激情在线观看| 色琪琪综合男人的天堂aⅴ视频| 久久精品国产v日韩v亚洲| 国产精品精品久久久久久| 91香蕉嫩草影院入口| 国内外成人免费激情在线视频| 欧美激情精品久久久久久久变态| 日韩欧美精品网址| 亚洲天堂男人天堂女人天堂| 国产精品自在线| 91在线高清视频| 95av在线视频| 亚洲欧美在线免费观看| 欧美午夜精品久久久久久久| 91久久久久久久久久久| 亚洲精品999| 日韩欧美综合在线视频| 成人福利视频网| 米奇精品一区二区三区在线观看| 97精品视频在线播放| 91伊人影院在线播放| 成人欧美一区二区三区在线湿哒哒| 欧美日本黄视频| 色樱桃影院亚洲精品影院| 日韩美女激情视频| 亚洲精品456在线播放狼人| 在线电影av不卡网址| 国产精品爱啪在线线免费观看| 91久久夜色精品国产网站| 国产91免费观看| 少妇av一区二区三区| 97香蕉超级碰碰久久免费软件| 亚洲欧美在线免费| 成人a视频在线观看| 少妇高潮久久77777| 亚洲男人天堂2019| 成人黄色免费网站在线观看| 国产精品高精视频免费| 亚洲国产美女久久久久| 国产精品一二三视频| 亚洲在线第一页| 欧美日韩在线观看视频| 亚洲最大成人在线| 宅男66日本亚洲欧美视频| 久久精品国产电影| 亚洲第一av网| 欧美日韩在线视频观看| 国产精品日韩久久久久| 久久人人爽人人爽人人片亚洲| 69久久夜色精品国产69乱青草| 国产精品激情av在线播放| 亚洲欧美日韩天堂一区二区| 一夜七次郎国产精品亚洲| 成人欧美在线观看| 欧美日韩高清在线观看| 久久久久久有精品国产| 欧洲亚洲免费视频| 国产亚洲一区二区在线| 亚洲欧洲国产伦综合| 久久久久这里只有精品| 97国产精品久久| 亚洲欧美国产一区二区三区| 精品伊人久久97| 中文字幕一精品亚洲无线一区| 久久久久久成人| 黑人巨大精品欧美一区二区免费| 欧美激情影音先锋| 国产在线精品成人一区二区三区| 成人观看高清在线观看免费| 国产成人精品一区| 日韩精品一二三四区| 欧美大码xxxx| 国产精品影院在线观看| 久久久久久久久爱| 国产成人精品视频| 国产精品免费久久久久久| 国产精品久久久久77777| 国产91精品最新在线播放| 精品一区电影国产| 91精品啪aⅴ在线观看国产| 欧美色视频日本高清在线观看| 亚洲欧美中文日韩v在线观看| 欧美性xxxxx| 91色琪琪电影亚洲精品久久| 国内揄拍国内精品|