纸上得来终觉浅,绝知此事要躬行

循序渐进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:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-08  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 1603
  • 日志数: 67
  • 图片数: 2
  • 影音数: 1
  • 建立时间: 2008-02-29
  • 更新时间: 2008-09-06

RSS订阅

Open Toolbar