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]
