SQL Server Indonesia User Groups Community thias
Welcome to SQL Server User Group Indonesia
Sign in JoinHelp | Sign In Live ID

thias

Introduction to Filtered index [SQL Server 2008]

Filter index merupakan feature baru di SQL server 2008. Setelah pada SQL Server 2005 ada feature include index. maka pada SQL Server 2008 ada filtered index.

Pengertian filtered index sendiri sangat sederhana. yaitu Index dengan filter

tentunya index disini yang dimaksud adalah non cluster index, bukan clustered index.

Jadi sebenarnya apa fungsi dari filtered index ?

biasanya pada sebuah table transaksi yang besar, memiliki banyak index, maka index tersebut akan cukup memakan storage kita. pdhal misalnya pada table yang berisi data tahun 2005 - 2010 ( data yang kemungkinan paling banyak kita cari atau hit adalah data 3 tahun mundur) disinilah filter index dapat membantu.

kita dapat saja menggunakannya seperti

"

CREATE INDEX IX_NC_Sales_1
ON testindex(SalesDate)

WHERE SalesDate > 2007

"

dengan filtered index, maka kita akan lebih optimal dalam penerapan index, hanya mengindex data yang memang lebih banyak di hit dan juga dapat menghemat storage.

Posted: Thursday, September 30, 2010 8:11 PM by thias with no comments

Filed under:

SQL Server 2008 - Partitioning

Setelah sekian lama tidak menulis blog, kebetulan minggu depan ada client request untuk knowledge transfer dengan custom materi, sehingga sekalian saja tulis overview materinya di blog.

1. Partitioning

Partitioning pertama kali dikenalkan pada SQL Server 2005 - hanya pada Enterprise Edition. sebelumnya pada SQL 2000, jika ingin menggunakan partitioning, agak tricky, table dipecah menjadi beberapa table lalu dibuat view untuk mengakses table - table tersebut.

create view VW_Sales

as

Select * from sales_1

union all

select * from sales_2

union all

...

..

select * from sales_12

dan pada SQL 2005 sudah ada fitur untuk partitioning.

Yang perlu diperhatikan pada partitioning adalah tujuan dari partitioning adalah untuk data managing dan maintainability, disamping itu juga untuk improving query performance terhadap "huge table".

berikut ini adalah beberapa workaround untuk melakukan partitioning :

1. pertama siapkan dahulu database dan filegroup untuk partitioning.

2. lalu kita buat partition function dan parition scheme.

partition function : fungsi yang akan menjadi pembatas untuk kita mempartisi (pada satu table hanya bisa mempunyai 1 partition function, biasanya yang menjadi partition function adalah : datetime (order data - dibagi perbulan) /  region (dibagi per region (jawa, bali, sumatera, dll)

partition scheme : adalah penyimpanan fisik storage berdasarkan partition function. sebaiknya tiap partitisi disimpan pada filegroup yang berbeda, disamping performance, untuk manageability juga lebih mudah.

dalam hal ini yang dimaksud dalam contoh adalah values

0 - 300 = FG1

301 - 500 = FG2

501 - ~ = FG3

3.kita bikin table dengan menggunakan partition schema yang tadi kita buat.

dan table tersebut akan dipartisi sesuai function dan schema yang sudah kita create.

 

 

untuk mengeceknya bisa menggunakan query ::


SELECT $partition

 

Posted: Saturday, September 25, 2010 10:33 PM by thias with no comments

Filed under:

implementasi server baru

hello word... this is my first posting in sql server indo group... dulu pny blog di geeksindo.. br posting sekali tp gak pernah diurus lagi. krn tadi baru dapet kaos dr mas hendra EP, dr acara deep dive, jd masi semangat.heheeh....

mudah2an disini tidak sama..

well.. kantor saya br aja beli server baru HP tipe apa lupa.. tp HDD total 16 drive, 8 drive 72GB x 15000RPM and 8 drive 160 GB x 10000RPM..

proc 2x intel quad core.. memori  4GBx1.. trus br diinstal SQL server 2000 E.E and win server 2003
mudah2an aja bisa mengurangi suffer performance aplikasi yang sangat sangat lambat..

 tugas pertama2 yang diberikan oleh orng IT senior nya adalah

1. bikin list table mana aja yang plng sering di akses, trus event nya apa aja ( insert, update, read or delete)... OMG.. gmn caranya???
saat ini gw baru tau per database, belom sampe detail per table.. ( liat dari sysperfinfo, transaction/sec) itu pun hanya DML saja, select/ read tidak termasuk.
 akhirnya segala cara dilakukan. tp akhirnya gw nge trace pake sql profiler selama 12 jam 08.00 - 20.00
dan semua data2 nya gw simpen di server lokal gw, dan dari situ dibikin query nya untuk mendapatkan list table nya apa aja, dan event nya apa aja.. meskipun saat ini gw masi gali terus dr sumber2 laen untk temuin cara lain.

2. berapa jumlh user yg connection/ pake server baru ini..

 

yupp.. br ini aja.. mungkin dr temen2 ada yg mo tambahin or kasi saran.. welcome..

best regards..

tias..
 

Posted: Saturday, July 19, 2008 12:21 AM by thias with no comments

More Posts