image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png
    注意:

    1. 索引倾斜性(单层次深度)
    2. 为空和函数为什么不走索引都跟索引树有关

    3. 索引跳扫

    image.png

    1. 位图索引一个很特殊的情况——位图联合索引
    2. rowid默认命名方式
      1. 对象编号
      2. 绝对文件号
      3. 块编号
      4. 行编号
    3. 更新表尽量不要用for update,容易忘记提交然后锁表,多用rowid,不会锁表
    4. 要不要建索引,取决于索引对我们是否有很大的帮助,因为建了索引会产生:
      1. 表竞争
      2. 更多的日志
      3. 更多的维护
      4. 冗余、碎片
    5. 适合建索引的情况:
      1. 过滤条件经常进行过滤的
      2. 唯一值较少,但数据分布较倾斜,要注意同时收集统计信息
    6. B-tree、位图(物理结构性差异)【较复杂】
      1. B-tree:有序索引,根里放边界值与rowid(连续块也就是全表扫描,导致有时候用索引查询不一定比没有快)
      2. 位图:每一行都做一个索引,但是每一个索引都很小,适合运用于多字段的与

    image.png
    image.png

    1. 是否走全表扫描
      1. 数据量
      2. 单次I/O能力
      3. 有序性
      4. 索引层次
      5. 块大小
      6. 索引记录
    2. 索引的update和表的update
      1. 索引是先删再插入新的位置
      2. 表的是在原来的位置
    3. 索引建立多少个组合索引,看这些组合索引的唯一性差异性是否足够大
    4. 重建索引的场景:
      1. 索引倾斜
      2. 索引偏移
      3. 索引失效