Mas,
Kalau table PENJUALAN kan bisa di partisi by Range (Tgl_Jual) dengan
tablespace yang berbeda per tahun(misal : TS2006,TS2007,TS2008), bagaimana
kalau ada table detailnya, misalnya BARANG_TERJUAL, dimana relasinya one to
many. dan di table BARANG_TERJUAL yang ada kolom : ID_PENJUALAN,
NAMA_BARANG, QTY.
Challengenya adalah, partisi apakah yang cocok untuk BARANG_TERJUAL (datanya
mengikuti table Headernya), agar ketika Tablespace yang menyimpan data 2006
bisa kita keluarkan dari database, untuk kemudian disimpan di tape. Namun
kalau kita ingin lihat lagi, kita bisa exchange ke database kembali.
Terima kasih atas sharingnya.
regards,
Fahmi
2008/7/28 rohmadsan <[EMAIL PROTECTED]>
> Hallo teman-teman,
> Just for sharing.
>
> http://rohmad.net/2008/07/26/partitioning-table-definisi-dan-contoh/
>
> Filosofi partisi adalah memecah tabel ke dalam beberapa segment
> (partisi atau subpartisi), di mana tabel konvensional hanya mempunyai
> satu segment.
>
> Misalkan kita punya tabel PENJUALAN dengan 8 juta records, kita ingin
> query data untuk quartal pertama tahun ini. Pada tabel konvensional
> (non partition), query akan men-scan keseluruhan 8 juta records data
> tersebut karena berada dalam 1 segment. Nah, kalau tabel itu dipartisi
> (by range untuk kolom tanggal penjualan) maka query akan men-scan
> khusus segment di mana data itu berada; tidak semua 8 juta records
> data itu di-scan, sehingga proses query lebih cepat.
>
> Manfaat lain dari partitioning adalah tiap-tiap segment (partisi atau
> subpartisi) bisa ditaruh di tablespace yang berbeda, sehingga kita
> mendapat manfaat dari spreading (menyebar) tablespace, yaitu
> penyebaran I/O dan mengurangi resiko loss data karena tablespace corrupt.
>
> Ada 3 metode utama partisi, dan ada 2 macam composite (gabungan):
>
> 1. Range partitioning
> 2. List partitioning
> 3. Hash partitioning
> 4. Composite range-list partitioning
> 5. Composite range-hash partitioning
>
> Misalkan saya punya tabel penjualan yang punya kolom no_invoice,
> tgl_jual, dan area.
>
> CREATE TABLE penjualan
> ( no_invoice NUMBER,
> tgl_jual DATE,
> area varchar2(10));
>
> Dalam artikel ini saya juga akan memberi contoh macam-macam partisi
> yang bisa dilakukan pada tabel penjualan tersebut.
>
> Range Partition
>
> Pada range partition, data dikelompokkan berdasarkan range (rentang)
> nilai yang kita tentukan. Range partition ini cocok digunakan pada
> kolom yang nilainya terdistribusi secara merata. Contoh yang paling
> sering adalah kolom tanggal.
>
> Berikut ini contoh membuat table PENJUALAN dengan partisi range pada
> kolom tgl_jual (untuk menegaskan bahwa ini adalah contoh range
> partition, tabel saya beri nama PENJUALAN_RANGE):
>
> Lebih lanjut silahkan baca di
> http://rohmad.net/2008/07/26/partitioning-table-definisi-dan-contoh/
>
> Salam,
> Rohmad
>
>
>
[Non-text portions of this message have been removed]