免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
當前位置: 首頁IT技術 → 聯合索引優化方式選擇

聯合索引優化方式選擇

更多

聯合索引的使用,如果在表的兩個字段上建立聯合索引,在查詢時如果謂詞中沒有出現第一個字段,仍然可以通過index skip scan的方式實現索引訪問的方式。但是要注意的是不是所有的情況使用index skip scan都是最優的。當聯合索引的第一個字段相同的值很多,大部分是相同的,這種情況下使用index skip scan的方式是最優的。

SQL> create table t as select 1 id, object_name from dba_objects;

Table created.

SQL> insert into t select 2, object_name from dba_objects;

50319 rows created.

SQL> insert into t select 3, object_name from dba_objects;

50319 rows created.

SQL> insert into t select 4, object_name from dba_objects;

50319 rows created.

SQL> commit ;

Commit complete.

SQL> select id,count(*) from t group by id;

ID COUNT(*)

---------- ----------

1 50319

2 50319

4 50319

3 50319

可以看到表t的值集中在ID為1,2,3,4幾個值上面,這時選擇Index Skip Scan的訪問方式是最優的。分析如下:

SQL> select * from t where object_name='TEST';

no rows selected

Execution Plan

----------------------------------------------------------

Plan hash value: 3688940926

--------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

--------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 7 | 189 | 6 (0)| 00:00:01 |

|* 1 | INDEX SKIP SCAN | IND_T | 7 | 189 | 6 (0)| 00:00:01 |

--------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

1 - access("OBJECT_NAME"='TEST')

filter("OBJECT_NAME"='TEST')

Statistics

----------------------------------------------------------

1 recursive calls

0 db block gets

14 consistent gets

13 physical reads

0 redo size

388 bytes sent via SQL*Net to client

458 bytes received via SQL*Net from client

1 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

0 rows processed

當使用hints使其采用全表掃描的方式時

SQL> select /*+ full(t) */ * from t where object_name='TEST';

no rows selected

Execution Plan

----------------------------------------------------------

Plan hash value: 1601196873

--------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

--------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 7 | 189 | 203 (3)| 00:00:03 |

|* 1 | TABLE ACCESS FULL| T | 7 | 189 | 203 (3)| 00:00:03 |

--------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

1 - filter("OBJECT_NAME"='TEST')

Statistics

----------------------------------------------------------

1 recursive calls

0 db block gets

900 consistent gets

0 physical reads

0 redo size

388 bytes sent via SQL*Net to client

458 bytes received via SQL*Net from client

1 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

0 rows processed

由上面可以看到,使用Index Skip Scan時只掃描了14個數據塊,而采用全表掃描則掃描了900個數據塊。

但是兩外一種情況確實截然相反的,當聯合索引的第一個值重復很少時,使用全表掃描的效率卻要高一些。

熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
免费体验120秒视频_榴莲榴莲榴莲榴莲官网_2021国产麻豆剧果冻传媒入口_一二三四视频社区在线
主站蜘蛛池模板: 99久久综合给久久精品| 99热久| 精品国产日韩亚洲一区91| 中文字幕成人免费高清在线视频| 极品美女a∨片在线看| 久操亚洲| 青青青青久在线观看视频| 中文字幕在线观看91| 亚洲性一级理论片在线观看| 午夜欧美激情| 桃子视频在线观看高清免费视频 | 杨幂一级做a爰片性色毛片| 一级毛片日韩| 少妇人妻综合久久中文字幕| 欧美日韩国产精品va| 亚洲色偷偷色噜噜狠狠99网| 国产高清在线精品一区| 国产精品无码电影在线观看 | 天堂√在线中文最新版8| 色偷偷88888欧美精品久久久| 久久国产乱子伦免费精品| 欧美日韩免费看| 美女裸身正面无遮挡全身视频| GOGOGO免费高清在线中国| 亚洲乱码卡一卡二卡三| 边亲边摸边做视频免费| 可以看污的网站| 亚洲欧美日韩国产精品| 青青伊人网| 亚洲国产精品专区| 成人国产精品视频| 天天综合天天综合色在线| 天天干天天射天天操| 精品国产一区二区三区久久狼| 卡一卡2卡3卡精品网站| 久久99热只有频精品8| 亚洲国产精品一区二区三区在线观看| а√天堂资源中文在线官网| 国产一区二区欧美丝袜| 波多野结衣与黑人| ssni-436|