纸上得来终觉浅,绝知此事要躬行
循序渐进hints--full
上一篇 /
下一篇 2008-05-04 15:35:20
/ 个人分类:sql学习
1.不加hints的情况下,由于在object_id列上创建了唯一索引,执行计划走的是索引。
SQL> set autot on explain
SQL> select count(*) from test where object_id=100;
COUNT(*)
----------
1
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT ptimizer=CHOOSE
1 0 SORT (AGGREGATE)
2 1 INDEX (UNIQUE SCAN) OF 'PK_TEST' (UNIQUE)
2.加hints,强制进行全表扫描。
SQL> select /*+ full(test)*/ count(*) from test where object_id=100;
COUNT(*)
----------
1
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT ptimizer=CHOOSE (Cost=2 Card=1 Bytes=13)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'TEST' (Cost=2 Card=3 Bytes=39)
可见,加hints后执行了全表扫描,不再走索引。
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: