zoukankan      html  css  js  c++  java
  • 全表扫描

    TABLE ACCESS FULL 全表扫描,多块读,等待事件:db file scattered read
                      如果是并行全表扫描,等待事件: direct path read
                      11g 有个新特征,在进行全表扫描的时候也会产生 direct path read
                       在OLTP环境中要通过 10949 event 禁止该新特征
                       在OLAP环境中可以不用禁止
                      如果表上面有大量的行迁链接,会是单块读 等待事件表现为db file sequential read
                      如果表上面发生了一个大事物,全表扫描会从UNDO读取前镜像,也会是单块读
                      HINT: FULL(表名/别名)

    全表扫描为什么可以多块读?

    Oracle最低层的存储是块,块上面是extent


    一个extent里的块物理上是连续的,读的时候把整个extent读进去

    UNIX 系统中一次最大I/O是1M

    一般来说一个区设置1M最合适

    一般来说 一个区设置1024/8=128个块比较合适


    ORACLE 单次扫描 能跨越 区 吗?


    可能跨区,物理上可能不连续


    Oracle 全表扫描每次扫描一个区,如果一个区extent大小超过1M,会这么办呢?

    是不是读这个区多很多次,最后可能一次I/O没读够1M。

    uniform 设置1M的整数倍

  • 相关阅读:
    Linux下安装破解JIRA 6.3.6 并连接MYSQL5
    centos7 系统安装问题汇总
    CentOS7安装iptables防火墙
    Vue全家桶实战 从零独立开发企业级电商系统
    小米笔记本pro充电10秒断开
    mac电脑的使用
    autojs解决方案
    auto.js连接vscode
    小米6手机刷机亲测详解
    #002前端基础-JS-浏览器中堆栈内存的底层处理
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3797939.html
Copyright © 2011-2022 走看看