mungkin bahasa teknikal nya begini:
tapi kesimpulannya, hashing algorithm yg katanya "it will make EVEN
DISTRIBUTION of data" tidak secara presisi benar :-)


create table th (id number, modd number, padding varchar2(40), rrnum number)
tablespace ts1 partition by hash(id) partitions 4
store in (ts1,ts2);

declare
r pls_integer;
strnd varchar2(12);
begin
for i in 1..2000 loop
r := round(dbms_random.value(1,99999999),0);
strnd := dbms_random.string('A',12);
insert into th values(i,r+5,strnd,r/12);
end loop;
commit;
end;
/

SQL> select table_name,partition_name from user_tab_partitions where
table_name='TH';

TABLE_NAME                     PARTITION_NAME
------------------------------ ------------------------------
TH                             SYS_P21
TH                             SYS_P22
TH                             SYS_P23
TH                             SYS_P24

SQL> select count(id) from th partition(sys_p24);

 COUNT(ID)
----------
       492

SQL> select count(id) from th partition(sys_p23);

 COUNT(ID)
----------
       512

SQL> select count(id) from th partition(sys_p22);

 COUNT(ID)
----------
       505

SQL> select count(id) from th partition(sys_p21);

 COUNT(ID)
----------
       491

CREATE TABLE kkpap_pruning
    (
        partition_count     NUMBER,
        iterator            VARCHAR2(32),
        partition_level     VARCHAR2(32),
        order_pt            VARCHAR2(12),
        call_time           VARCHAR2(12),
        part#               NUMBER,
        subp#               NUMBER,
        abs#                NUMBER
    );

ALTER SESSION SET tracefile_identifier = 'hash_part';
ALTER SESSION SET EVENTS '10128 trace name context forever, level 2';
select count(id) from th partition(sys_p22);
ALTER SESSION SET EVENTS '10128 trace name context off';
ALTER SESSION SET SQL_TRACE=FALSE;

SQL> select * from th where id=10;

        ID       MODD PADDING                                       RRNUM
---------- ---------- ---------------------------------------- ----------
        10   20656320 xYdicvahRaFk                             1721359.58

SQL> select count(id) from th partition(sys_p22);

 COUNT(ID)
----------
       505

SQL> select count(id) from th;

 COUNT(ID)
----------
      2000

ALTER SESSION SET EVENTS '10128 trace name context off';


trace file:
===========

*** 2009-04-20 09:36:55.515
Partition Iterator Information:
  partition level = PARTITION
  call time = RUN
  order = ASCENDING
  Partition iterator for level 1:
   iterator = RANGE [1, 1]
   index = 1
  current partition: part# = 1, subp# = 1048576, abs# = 1
*** 2009-04-20 09:37:19.156
Partition Iterator Information:
  partition level = PARTITION
  call time = RUN
  order = ASCENDING
  Partition iterator for level 1:
   iterator = RANGE [1, 1]
   index = 1
  current partition: part# = 1, subp# = 1048576, abs# = 1
*** 2009-04-20 09:37:43.062
Partition Iterator Information:
  partition level = PARTITION
  call time = RUN
  order = ASCENDING
  Partition iterator for level 1:
   iterator = RANGE [0, 3]
   index = 0
  current partition: part# = 0, subp# = 1048576, abs# = 0
  current partition: part# = 1, subp# = 1048576, abs# = 1
  current partition: part# = 2, subp# = 1048576, abs# = 2
  current partition: part# = 3, subp# = 1048576, abs# = 3
Partition Iterator Information:
  partition level = PARTITION
  call time = RUN
  order = ASCENDING
  Partition iterator for level 1:
   iterator = RANGE [0, 3]
   index = 0
  current partition: part# = 0, subp# = 1048576, abs# = 0
  current partition: part# = 1, subp# = 1048576, abs# = 1
  current partition: part# = 2, subp# = 1048576, abs# = 2
  current partition: part# = 3, subp# = 1048576, abs# = 3

-- 
best regards
Oracle DBA
http://www.dbs247.com
http://blog.dbs247.com


2009/4/16 Ananias Sembiring <[email protected]>

>
> Penggunaan HASH bisa jadi tidak rata2 banget.,
> kl mau rata., gunakan jumlah partisi = n pangkat 2., (2, 4, 8, 16, 32)..,
> jumlah partisi di atas pun., ga rata2 banget.,
>
> emang intinya HASH akan membagi/distribusi data secara random., dan
> "diusahakan" rata..,
>
>
> CMIIW.,
>
> Ananias Sembiring
>
>


[Non-text portions of this message have been removed]

Kirim email ke