zoukankan      html  css  js  c++  java
  • 执行计划总结

    oracle访问数据的存取方法  :
      1) 全表扫描(Full Table Scans, FTS)
        2) 通过ROWID的表存取(Table Access by ROWID或rowid lookup)
        3) 索引扫描(Index Scan或index lookup)有4种类型的索引扫描:
         (1) 索引唯一扫描(index unique scan)
         (2) 索引范围扫描(index range scan)
               在非唯一索引上都使用索引范围扫描。使用index rang scan的3种情况:
            (a) 在唯一索引列上使用了range操作符(> < <> >= <= between)
            (实际测试只有用"="的时候才是用的index range scan,其他的走的是全表扫描)
            (b) 在组合索引上,只使用部分列进行查询,导致查询出多行
            (c) 对非唯一索引列上进行的任何查询。
          注:如果条件只能够使用 yyy like '%xxx%'这种用法,则是全表扫描,哪怕yyy是一个索引。 
         (3) 索引全扫描(index full scan)
         (4) 索引快速扫描(index fast full scan)

    1.全表扫描(table access full)的情况:

     a.where条件中如果有like,那么无论like后的字段是否加了索引或者是否有unique约束,都会有是全表扫描。这种情况消耗的IO比较高,一般都好几千以上。

     b.没有where条件,这种情况肯定是全表查询。

    2.通过rowid的表存取(Table Access By ROWID

      首先需要理解下索引。因为通过所以索引查询的时候,实际上是先通过查询索引对应的rowid,然后再通过rowid来查询具体的行。

    由此查询时如果走索引的实际上全都会走 Table Access By Rowid;

     3.索引扫描

      a.索引唯一扫描(index unique scan)

        查询条件中 如xx=1234, 如果xx是主键或者唯一性约束所在列,则走index unique scan

      b.索引范围扫描(index range scan)

  • 相关阅读:
    LeetCode 25 Reverse Nodes in k-Group
    圆桌派:家世背景对人的影响有多大
    BibTex 学习笔记
    R parallel包实现多线程1
    IIS学习笔记
    高效完成R代码
    圆桌派 :我们,朋友一生一起走
    高文欣个人简介
    R语言函数话学习笔记5
    git学习笔记1
  • 原文地址:https://www.cnblogs.com/Sunnor/p/4562964.html
Copyright © 2011-2022 走看看