ORACLE优化之执行规划(1) - TABLE FULL SCAN/INDEX FULL SCAN

本文探讨Oracle查询优化中的执行规划,重点关注TABLE FULL SCAN、INDEX RANGE SCAN和INDEX FULL SCAN。解释了各种扫描方式的适用场景及性能影响,并提供了优化策略,建议避免不必要的FULL SCAN操作,以提升查询效率。
摘要由CSDN通过智能技术生成


ORACLE优化之执行规划(1) - TABLE FULL SCAN/INDEX FULL SCAN

 

TABLE FULL SCAN
 全表扫描,表示表中所有记录都被访问到。如果表很大,
 该操作对查询性能的影响会很大,此时,建议使用索引
 或去掉查询中的LIKE操作。
 
 EXPLAIN PLAN
  SET statement_id = 'ex_plan1' FOR
  SELECT phone_number FROM employees
  WHERE phone_number LIKE '650%';

INDEX RANGE SCAN [DESCENDING]
 从相关索引中获取了一个或多个ROWID。
 当查询条件字段具有非唯一索引,或者查询过滤条件是一个范围,
 ORACLE将会采用该操作。
 
 示例:
  SELECT * FROM t_employee WHERE id > 11001;
  SELECT * FROM t_employee WHERE first_name = 'Tommy';
  
  此例中,id是关键字,first_name具有非唯一索引。
  oracle会对此两个索引采用INDEX RANGE SCAN.
 
INDEX FULL SCAN [DESCENDING]
 从相关的索引中获取了所有的ROWID。由于是按索引的顺序访问和获取ROWID,
 因此获得的ROWID是直接排过序的。
 
 示例1:
  SELECT /*+ INDEX(T_EMPLOYEE IDX_NODES_ID)*/ id from T_EMPLOY

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值