zoukankan      html  css  js  c++  java
  • oracle之bitmap索引

    oracle常见的索引是BTree索引和Bitmap索引。

    BTree索引特点:

      默认索引

      适合大量增删改查

      不能用or操作符

      适合高基数的列(即唯一值多)

    创建sql:create index lie_idx1 on table(liename);

    Bitmap索引特点:

      做update代价非常高

      非常适合or操作符

      基数少的列(即重复值多)

    创建sql:create bitmap index lie_bit_idx1 on table(liename);

    Bitmap索引使用配注:

      对列做位图索引(Bitmap),该列必须是不常改动的。因为oracle在查询位图索引时,会将查找的某一重复值都锁定,在一个sql未提交前,其他用户操作拥有该重复值的sql会处于阻塞状态,直至第一个sql被提交。

    创建索引的一些规则:

    1、权衡索引和DML之间的关系。执行DML语句会修改索引

    2、把索引和表数据放在不同的表空间。读取表数据时可以并行读取索引【移动索引:alter index indexname rebuild tablespace】

    索引的常用操作:

    重新创建索引:alter index indexname rebuild tablespace indexname2;  数据库操作删除命令后,索引记录并不会马上清除

    在线重建索引:alter index indexname rebuild online;

    整合索引:alter index indexname coalesce;  用于整理索引碎片

    删除索引:drop index scott.indexname;

    分析索引:

      1、查询存放分析数据的表:select count(*) from index_status;

      2、执行分析索引命令:analyze index indexname validate structrue;   --分析完该索引信息会存于index_status表中。

  • 相关阅读:
    《P3953 [NOIP2017 提高组] 逛公园》
    《P4180 [BJWC2010]严格次小生成树》
    《济南icpc补题》
    《levil的因子和》
    《洛谷P2704 [NOI2001]炮兵阵地》
    《Codeforces Round #689 (Div. 2, based on Zed Code Competition)》
    《2174: Leapin' Lizards》
    《3820: Revenge of Fibonacci 》
    马拉车求最长回文子串
    二分训练
  • 原文地址:https://www.cnblogs.com/x-jingxin/p/8684804.html
Copyright © 2011-2022 走看看