ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle多列为空与多列不为空的区别小示例

oracle多列为空与多列不为空的区别小示例

原创 Linux操作系统 作者:wisdomone1 时间:2012-09-23 11:26:58 0 删除 编辑
1,测试表的多列为空与多列为空字符串的区别
  1,数据量是1000w
        declare
         type typ_tab_col1 is table of pls_integer index by pls_integer;
         typ_tab_col1_1 typ_tab_col1;
         
        begin
         for i in 1..10000000 loop
           typ_tab_col1_1(i):=i;
         end loop;
        
         forall i in 1..10000000
          insert into t_more_col values(typ_tab_col1_1(i),null,null,null,null,null,null,null,null,null);
         commit;
        end;
    2,列为10列
    3,插入
        1,空用时 已用时间:  00: 00: 19.59
        2,空字符串用时 已用时间:  00: 01: 00.43
        3,小结:空比空字符串插入更快 
    4,查询
        1,在有数据的基础上
        2,空时,查询 已用时间:  00: 00: 00.31
        3,空字符串时,查询       已用时间:  00: 00: 00.45
        4,小结:说明查询时空比空字符串更快
        
    5,更新
      1,在有数据基础上
      2,空时,已用时间:  00: 07: 45.56 update t_more_col set col1=20,col8=20;
      3,空字符串时 已用时间:  00: 03: 18.40
      4,小结:说明空字符串比空更新要快的
    6,删除
      1,在有数据基础上
      2,空时,delete from t_more_col where rownum<100000;已用时间:  00: 00: 00.62
      3,空字符串时 已用时间:  00: 00: 00.54
        4,小结:说明空字符串比空删除快一些
    7,表的结构
      create table t_more_col(col1 int,col2 int,col3 int,col4 int,col5 int,col6 int,col7 int,col8 int,col9 int, col10 int);
        
    8,数据量
      1,空时,
        00:05:44 SQL> select segment_name,bytes/1024/1024 mb,segment_type from user_segm
          ents where segment_name='T_MORE_COL';
          
          SEGMENT_NAME
          --------------------------------------------------------------------------------
          
                  MB SEGMENT_TYPE
          ---------- ------------------
          T_MORE_COL
                 120 TABLE
     2,空字符时,
        
          SEGMENT_NAME
          -------------------------
          
                  MB SEGMENT_TYPE
          ---------- --------------
          T_MORE_COL
                 320 TABLE
     3,小结:很明显,空比空字符占用的存储空间更少;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-744854/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    12690141