Showing posts with label Microsoft SQL Server. Show all posts
Showing posts with label Microsoft SQL Server. Show all posts
Monday, March 13, 2017 at 7:09 AM | 0 comments
Indeks dapat dibayangkan sebagai daftar isi pada sebuah buku, sehingga melalui daftar isi ini dapat dicari dengan mudah letak item tertentu. Didalam database daftar isi kita sebut dengan index fungsinya adalah untuk mempercepat pencarian data.

Jika ada perubahan dihalaman tertentu maka daftar isipun harus dirubah agar daftar isi sesui dengan  isinya dan akan mempercepat pencarian. Begitu juga database indexpun harus diupdate apa lagi database tersebut banyak transakaksi insert & delete. Lalu bagaimana caranya index di database tersebut diupdate. Caranya adalah dengan melakukan reindex. simplenya dengan cara :

DBCC DBREINDEX ('Nama Table')

Tetapi sebelumnya pastikan duhulu apakah table tersebut perlu di index ? karena proses REINDEX prosesnya cukup lama jika table tersebut besar dan akan menurunkan proses performance yang lain. simplenya pengecekan dengan cara

DBCC SHOWCONTIG ('Nama table')




Semakin kecil Fragmentationnya semakin baik, jika masih 1 - 2 % tidak perlu lah di reindex
seharusnya masih belum mempengaruhi proses pencarian, kalo mau di reindex ya tidak apa2. :)

Lakukan Reindex



Setelah di lakukan Renidex




 Oke next session kita lanjutkan lagi mengapa index sudah dibuat tetapi performance masih lambat. 

Posted by Shanto Labels:

Index adalah sebuah objek dalam sistem database yang dapat mempercepat proses pencarian (query) data. Saat table dibuat tanpa menggunakan  index, maka kinerja server dapat menurun secara drastis. Hal ini dikarenakan resource CPU banyak digunakan untuk pencarian data atau pengaksesan query SQL dengan metode table-scan. Index membuat pencarian data akan lebih cepat dan tidak banyak menghabiskan resource CPU.

1. Konsep Heap dan Table Scan.

Tabel pada sebuah database yang tidak menggunakan index (disebut heaps) menggunakan metode table-scan saat dilakukan pencarian data atau pengaksesan query SQL. Apa yang dimaksud dengan table-scan? Table scan dapat diumpamakan seperti mencari sebuah arti kata dalam pada sebuah buku yang tidak memiliki indeks huruf. 


2. Pengunaan Index

Index di Microsoft SQL Server di bagi 2 :

 A. Cluster Index
 Penggunaan clustered index akan membuat pencarian data lebih cepat. Hal ini dikarenakan, saat Anda memasukkan sebuah data baru, maka SQL Server akan memaksa untuk memasukkan data tersebut pada urutan yang seharusnya. Cluster Index di implementasikan sebanyak 1 buah pada sebuah table.

Berikut pembuktiaannya  :

1. Buat table dahulu misal nya seperti dibawah, Test 1 Klik Menage Indexs/Keys, kemudian Ucheck Create Clustered. seperti gambar di bawah.




2. Kemudian lakukan seperti gambar di bawah.

 

 3. Selanjutnya lakukan seperti gambar di bawah.

 

 3. Test ke 2 Klik Menage Indexs/Keys, kemudian Check Create Clustered. seperti gambar di bawah.
 


 3. Kemudian lakukan seperti gambar di bawah.
 

hal ini secara fisik data langsung di paksa di urutkan, sehingga pada saat select sudah tidak perlu order by dan secara proses select akan lebih cepat performancenya.

B. Non Cluster Index
Non-clustered index dapat diimplementasikan lebih dari 1 buah pada sebuah tabel. Secara fisik data tidak di urutkan.




Oke next session kita lanjutkan lagi bagaimananya maintenance index agar performance database tetap stabil.
Posted by Shanto Labels: