日韩精品中文字幕一区二区-日韩精品中文字幕一区-日韩精品中文字幕视频-日韩精品在线一区二区三区-第一页在线-第一福利视频

當前位置: 首頁IT技術(shù) → 聯(lián)合索引優(yōu)化方式選擇

聯(lián)合索引優(yōu)化方式選擇

更多

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

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的訪問方式是最優(yōu)的。分析如下:

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個數(shù)據(jù)塊,而采用全表掃描則掃描了900個數(shù)據(jù)塊。

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

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
主站蜘蛛池模板: 《西游降魔篇》2| 保镖电影在线完整观看 | 牛牛电影| 徐一航的电视剧叫什么| 秀人网大尺度| 大森元贵| 工程力学电子版教材| 美女撒尿视频| 书柜效果图大全2023款| 家庭琐事电影| 都市频道在线直播观看| 爱在记忆中找你歌词| 张学友电影全部作品| 电影白上之黑| cctv-6| 港股开户测试答案2024年| 美女被吃掉| 招聘女服务员2| 伪装者 豆瓣| 解决问题五上数学| 周秀娜全部三级视频| 87版红楼梦4k修复版| 红海行动2虎鲸行动电影上映时间| 爱欲告白| 日韩免费观看电影| 北之萤| 绿巨人3| 杨幂吻戏| 文史茶馆| 爱在线观看| 大胆艺术| 爱情公寓海报| 五年级上册学法大视野答案| 性色视频| 九龙城寨在线观看| (一等奖)班主任经验交流ppt课件| 爱爱免费| 秀人网小逗逗集免费观看| 猎仇者高清完整版| 老炮儿演员表| 尹雪喜最好看的三部电影|