Misalnya, aplikasi Anda menggunakan 10 tables. Let's say, 8 dari
table-table tadi hanya < 100k rows, sedangkan 2 sisanya ukuran
besar, >1m rows. Table-table kecil digunakan untuk OLTP, yang
sering diakses. Sedangkan table besar tadi digunakan untuk rollup
dan aggregation data.

Tanpa pembagian partisi, maka semua aktifitas DB (meskipun DB
sendiri punya localized threads), semua threads tadi IO-bound, yang
berarti akses ke hard-disk harus di-serialize. Walaupun menggunakan
RAID, akses ke table-table kecil akan terganggu apabila ada akses ke
table-table besar.

Dengan partisi, berarti kita memindahkan posisi table-table besar tadi
ke tempat yang bisa diakses tanpa mengganggu IO dari table-table kecil.
Jika perlu, ke lain server.
Mustinya SQL server memiliki utility untuk melihat seberapa besar IO
utilization-nya.

Kalau IO utilization-nya kecil, berarti problem-nya mungkin ada di
query-nya.
Mungkin query filter-nya tidak efisien, sehingga data yang diambil di
sub-query
sangat besar, tapi tidak digunakan?
Atau mungkin network utilization-nya yang terlalu besar. Ini biasanya
disebabkan
karena bug di query, dimana query-result-nya terlalu besar untuk dikirim ke
client,
padahal client hanya memerlukan bagian kecil saja.

Kalau cuma mengganti hardware tanpa memahami problemnya, besar kemungkinan
problemnya tidak terselesaikan.


KOkon.

2009/8/31 ali dharmala <[email protected]>

>
>
> nampak nya seperti itu..
> memang objective pertanyaan ini untuk localize problem..
> kl biz logic dr app hrs direview,butuh waktu ekstra..
>
> selain itu,isu partisi table2 yg lambat di partisi yg berbeda maksud nya
> apa yah ?
> mohon pencerahannya..
>
> regards
>  KA 95
>


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

Kirim email ke