
oracle hint
文章平均质量分 78
47522341
这个作者很懒,什么都没留下…
展开
-
SQL hint中正确使用use_nl提示
之前对use_nl的理解一直很模糊,看下面的案例。SQL> select * 2 from table_detail t, 3 table(cast(str2varlist(123) as vartabletype)) t2 4 where t.id = t2.column_value;Execution Plan-------------------------转载 2008-10-20 14:45:00 · 2856 阅读 · 0 评论 -
index_join:
index_join:index join顾名思义是对index进行关联,oracle通过hash index join的方式实现了避免对表的访问.所有的数据都从索引中直接获得.它不受查询条件影响,可以是唯一索引,也可以是多列索引.SELECT /*+ index_join(test ind_test_owner ind_test_object_name)*/ OWNER, OBJEC转载 2008-10-24 12:00:00 · 4687 阅读 · 0 评论 -
index_combine:
index_combine最早是用在bitmap index上的,在9i开始oracle默认可以使用在btree索引上,这是由_b_tree_bitmap_plans参数来控制的.oracle将btree索引中获得的rowid信息通过BITMAP CONVERSION FROM ROWIDS的步骤转换成bitmap进行匹配,然后匹配完成后通过BITMAP CONVERSION TO ROWI转载 2008-10-24 12:01:00 · 1869 阅读 · 1 评论 -
and_equal:
这种方式需要查询条件里面包括所有索引列,然后取得每个索引中得到的rowid列表,然后对这些列表做merge join,过滤出相同的rowid后再去表中获取数据或者直接从索引中获得数据.and_equal有一些限制,比如它只对单列索引有效,只对非唯一索引有效,使用到的索引不能超过5个,查询条件只能是”=”.在10g中,and_equal已经被废弃了,只能通过hint才能生效.涉及索引满转载 2008-10-24 11:59:00 · 1161 阅读 · 0 评论