INITIAL,NEXT大小应该是操作系统块的整数倍,如果不是oracle自动取整

解决方案 »

  1.   

    这样的问题也没人会吗?看来,高手都跑到ITPUB混了。
      

  2.   

    这样的问题也没人会吗?看来,高手都跑到ITPUB混了。
      

  3.   

    Oracle存储数据的基本单位是块,其大小在建库时由DB_BLOCK_SIZE参数确定.查看一下你的DB_BLOCK_SIZE大小。
      

  4.   

    我的DB_BLOCK_SIZE大小是8192字节。但你的回答跟我的问题有关吗???
    我的问题是:
    当我执行下列语句(创建索引后,马上查询)时,查询的字节数竟然是3932160,同时initial_extent,next_extent值也与上面所创建的索引不同,为什么??
      

  5.   


     我做了个简单的测试, 没有问题:
     SQL> set timing on
     SQL>create table t1(id number(4)) nologging;
        表已创建    已用时间:  00: 00: 00.16 SQL> declare
           type numTab is table of number(4) index by binary_integer;
           data numTab;
           empty numTab;
         begin
             for j in 1 .. 5000 loop
                 data(data.count+1) := j;
      
                 if ( mod(data.count,1000) = 0 )
                then
                   forall i in 1 .. data.count
                      insert into t1 values
                             ( data(i) );
                   data := empty;
                end if;
     
            end loop;
            if ( data.count is not null )
            then
                forall i in 1 .. data.count
                      insert into t1 values
                              ( data(i) );
            end if;
            commit;
       end;
       /
       
       PL/SQL 过程已成功完成.
       已用时间:  00: 00: 00.88  SQL> select count(*) from t1;      COUNT(*)
          ----------
          5000  已用时间:  00: 00: 00.00  SQL> CREATE  INDEX ix_t1
      2   ON t1
      3    (id)
      4    PCTFREE    10
      5    INITRANS   2
      6    MAXTRANS   255
      7    TABLESPACE indx
      8   STORAGE (
      9     INITIAL     2326528
     10     NEXT        180224
     11     PCTINCREASE 5
     12     MINEXTENTS  1
     13     MAXEXTENTS  1000000000
     14     )
     15  /索引已创建。已用时间:  00: 00: 00.78SQL> select bytes,blocks,extents,initial_extent,next_extent from dba_segments
      2      where segment_name=upper('ix_t1')
      3  /     BYTES     BLOCKS    EXTENTS INITIAL_EXTENT NEXT_EXTENT
    ---------- ---------- ---------- -------------- -----------
       2359296        288          1        2326528      180224已用时间:  00: 00: 00.87 因此,我的观点如下:   第一: 可能是碎片的问题。   第二: 假如你有一个很大的表,以前有索引,现在想重建这个索引,
             就算你指定了相关的存储参数,它也不会按照你的意愿去做。   第三: storage 参数中的 initial 和 next 参数最好保持一致.
     
       第四: 注意pctfree这个参数的合理配置,即保留一定的freelist空间.