• oracle压缩索引


    今天看了简单的了解了一下压缩索引,写写,为了以后更好的学习,当然肯定写的不是很全面,还得继续努力了

    压缩索引顾名思义就是对索引进行压缩,对组合索引,特别是重复率高的进行压缩,那么它能带来什么好处呢?首先它占用的磁盘空间少,其次了缓冲区就可以存放更多的索引条目了,而且缓冲命中率较高,并且物理I/O 较少。也就是可以使用更少的叶块,但是同样也有缺点的,不正确的压缩会带来很大的麻烦,它需要更多的从cpu进行处理,那么压缩索引到底能不能提高性能呢?这得实际中进行实验,下面简单用举例来说明压缩引的一些相关知识。

    实验步骤

    1.我们先用oracle中自带的表来实验,all_object,创建表,创建索引,然后把重复率高的放在索引的最前面

    create table t
    as
    select * from all_objects;
    create index t_idx on t(owner,object_type,object_name);


    2.对索引进行分析,可以看索引的一些压缩的比率以及压缩的一些空间等信息。我们分别对上面的索引进行无压缩的,压缩一列,压缩两列,压缩3列来进行分析。

    create table idx_stats
    as
    select 'noncompressed' what, a.*
    from index_stats a;

    我们把未压缩的放在idx_stats 表中,然后我们分别把其它压缩的三种都放在idx_stats中进行比较

    压缩一列
    drop index t_idx;
    create index t_idx on
    t(owner,object_type,object_name)
    compress 1;
    analyze index t_idx validate structure;
    insert into idx_stats
    select 'compress 1', a.*
    from index_stats a;
    压缩两列
    drop index t_idx;
    create index t_idx on
    t(owner,object_type,object_name)
    compress 2;
    analyze index t_idx validate structure;
    insert into idx_stats
    select 'compress 2', a.*
    from index_stats a;
    压缩三列
    drop index t_idx;
    create index t_idx on
    t(owner,object_type,object_name)
    compress 3;
    analyze index t_idx validate structure;
    insert into idx_stats
    select 'compress 3', a.*
    from index_stats a;

    3.我们来进行对比一下进行分析

    我们来分析一些,height 是索引的高度,biree_space 是索引的大小,opt_cmpr_count 是索引评估的最佳压缩行,本例中是两行,opt_cmpr_pctsave 是索引可以节约的空间,如在本例中压缩两列可以节约28%的空间,2800096*28%。

    从本例中可以看出压缩最佳行两行以后,就再不能节约空间了,并且索引的高度也变为了2,这是因为通过压缩,数据量减少,就可以放在单个的块上,所以高度也就减少了,就这就大大的减少了I/O 读,但是压缩了3行以后,反而占的空间大了,这是索引的压缩机制造成了。所以在压缩时要注意,一般情况下,压缩索引还是适合静态的环境,如数据仓库,如果有大量的DML语句也是不适合的。

  • 相关阅读:
    008. 限制上传文件的大小
    007. 实现登录验证的方式
    006. 创建包含公共类的文件夹
    005. asp.net页面常用指令
    004. 连接默认错误页
    003. 连接access数据库代码
    VS2013生成Release版本MFC程序在其他机器上运行
    MFC WebBrowser判断网页加载完成
    第一课 JAVA环境与第一个HelloWorld运行
    HTTP协议详解&TCP&OSI七层概念模型
  • 原文地址:https://www.cnblogs.com/wujin/p/2424196.html
Copyright © 2020-2023  润新知