• Tuning 13 Using oracle blocks Efficiently


    image

    推进使用自动管理 automatic segment

    image

    1 个 Blocks = 2的幂次方倍

    tablespace 像一块地

    segment 像一个房子

    extents 向一个装砖头的框

    blocks 像砖头

    image

    segment 一次性最少要分配一个 extents

    image

    推荐使用 UNIFORM 在创建 extent 时.

    image

    image

    grant connect, resource to mark;

    create table t(id int, name char(10));

    image

    注意, 执行第一个命令时无法得到empty blocks 的数值, 需要执行 analyze table t compute statistics 才能得到 empty block (在 dba_tables)

    alter table t allocate extent;  -- 增加 extent

    alter table t allocate extent (size 10m);  -- 直接扩充10M, 因为这个环境一个extent是1m, 这样就扩充了10个extent.

    image

    image

    image

    oracle 的全表扫描会扫描到高水位的地方

    image

    可以看到高水位是在一个extent里的block 的情况.

    image

    image

    image

    image

    image

    image

    image

    小块对 OLTP 比较好

    image

    OLAP 使用大块, 决策支持, 数据仓库 等

    image

    image

    只要记住PCTFREE 就行了, 下边的 PCTUSED 不用考虑

    image

    Migration: 迁移, 在block中的数据体积变大了, 那么它首先会在本块中寻找空间, 但是如果本块中没找到, 就会将这个信息移动到另一个块里, 并且在原来块里留下指针, 注意这样要读2次I/O, 因为前一个块只读到了一个指针. 所以要尽量避免这个事情发生.

    Chaining: 这条记录太大了, 大到整个block 都放不下了, 那没办法了, 只能将这个信息分部分存储在两个或多个块里, 这样也要读2次I/O. 发生这个的原因或者是block小或者是表设计不当

    image

    image

    image

    move 的意思是将这个表copy到另一个表, 然后再将这个表删除

    image

    监控索引, 在恰当的时候对索引进行rebuild 等内容.

    image

    image

    image

    image
    下边两个过时了, 在10g,11g都不这么用了

    image

    image

  • 相关阅读:
    dev gridcontrol设置复选框列,和按数据选择行
    Django——三种方式上传文件/数据 (form ajax json)
    Django——ajax简单使用
    Django——ajax介绍,django内置序列化器
    阿里云oss 上传文件的两种方式(本地路径上传远程链接上传)
    easywechat 网页授权登录
    19。删除链表倒数第N个节点
    142环形链表II
    141环形链表
    701二叉搜索树中的插入操作
  • 原文地址:https://www.cnblogs.com/moveofgod/p/3640026.html
Copyright © 2020-2023  润新知