• 什么情况下使用全局索引和本地索引


    我举个 global 索引的例子


    查询 条件 不走 分区键这个值

    但是 我走另外一个where条件

    而且选择性很高

    假设索引高度为3

    不跨越分区 扫描3个block +1个 data block

    跨越分区 扫描 1000个 分区 *3 +1个data block

    扫描要跨越 多个 分区你就建立 global


    条件里不带上了分区键对应的列,对应的列就用GLOBAL

    oracle会对主键自动创建全局索引


    我 有一个查询
    查询 条件 不走 分区键这个值
    但是 我走另外一个where条件

    总结就是
    扫描要跨越 多个 分区
    你就建立 global

    global 索引是为了解决 跨越 分区扫描的用的


    总结:
    全局索引:
    优点:通过索引检索,没有限定分区的谓词、或跨分区时,性能好点,
    缺点:分区维护的时候麻烦,drop分区等维护会失效,dml的时候索引维护成本高,数据大了rebuild也难
    local 索引:
    优点:通过索引检索,有限定分区的谓词、不跨分区时,性能好,分区维护容易,dml的索引维护底,rebuild也方便。
    缺点:通过索引检索,又没有限定分区的谓词、或跨分区时,性能不如全局索引

    有分区裁剪的,那么其他列就建立分区索引

    就是where 条件里带上了分区键,对应的列 就用LOCAL

    没有分区裁剪的,那么列就建立global 索引

  • 相关阅读:
    Pythonurllib
    Python中的假
    线上bug处理方案
    bug级别定义
    提交bug规范
    bug统一处理方案
    jsonserver
    参数默认值 (函数形参与对象数组解构)
    rest 剩余参数
    ES5常用方法
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/3798102.html
Copyright © 2020-2023  润新知