Uploaded by User44869

10 Indexing

advertisement
1
Teknik Informatika - ITS
INDEXING
Topik Minggu Ini
2
Pertemuan
Ke9
Materi
INDEXING
• Konsep dasar Indexing
5
• Jenis-jenis Indexing
OBJECT DATABASE AND CHANGE MANAGEMENT
• Konsep Temporal Database
• Associating Facts with Time
6
• Temporal Query Languages
COMPLEX QUERIES AND REASONING
• Logika Query
7
COMPLEX QUERIES AND REASONING
• Implementasi Rule dan Query
• Penugasan : tugas complex dan nested query
8
Tugas /Praktik
Membuat complex dan nested query
Outline
3


Konsep dasar Indexing
Jenis-jenis Indexing
4


“DATABASE PERFORMANCE,” what do you think it
means?
Most of us think of how FAST a database returns a
QUERY.
5


Performance can be tuned to retrieve datasets in
the most efficient way possible.
One of the primary ways of speeding access to the
data is by using an INDEX
6


Tabel pada sebuah database yang tidak
menggunakan index (disebut heaps) menggunakan
metode “table-scan” saat dilakukan pencarian
data atau pengaksesan query.
“Table scan” dapat diumpamakan seperti mencari
sebuah arti kata dalam pada sebuah buku yang
tidak memiliki indeks huruf.
Contoh : sebuah buku dengan index
7

Mencari arti kata ‘mobil’ di Kamus Besar Bahasa
Indonesia (KBBI) :
 membuka
kamus berdasarkan index hurufnya
 mencari huruf ‘m’
 meneruskan pencarian hingga menemukan halaman
yang mengandung kata ‘mo’
 mengakhiri proses pencarian hingga didapat kata
“mobil”
Buku Tanpa Index Huruf ?
8


mencari dari awal halaman hingga menemukan
kata yang dicari.
perumpamaan “table-scan” adalah seperti hal ini.
Table-scan akan mencari data pada tabel
database dari awal hingga menemukan data yang
dicari.
Data yang tersimpan, sebenarnya
tidak terurut sama sekali !!!
9


sistem penyimpanan data pada DB adalah melalui
pages. Setiap pages hanya terdiri dari 8Kb data,
dan 8 buah pages (64kb) tersebut akan disimpan
pada sebuah extent.
Walaupun data yang dimunculkan terlihat terurut,
namun sebenarnya cara pencarian data tersebut tidak
dilakukan dengan cara yang diumpamakan tadi
(index huruf pada KBBI),
Ilustrasi
10


pencarian data akan dimulai dari pages pertama
hingga pages terakhir dari sebuah extent, jika
tidak ditemukan maka akan dilanjutkan ke extent
berikutnya.
Kelemahan : saat memasukkan data pada tabel
tertentu, data tidak secara otomatis disimpan
secara terurut, namun disimpan pada pages yang
masih bisa menyimpan data.
11


Jadi saat memasukkan data yang harusnya berada
di urutan 2 pada tabel, data ini akan disimpan
pada pages terakhir yang masih bisa menyimpan
data.
Hal inilah yang seringkali membuat proses
pencarian data menjadi lebih lama pada
database yang tidak memiliki index, terutama
pada database dengan skala OLDB (Online Large
Database) dan VLDB (Very Large Database).
Solusi : Index
12
Perlu diingat, setelah Index diterapkan,
data tidak akan terurut secara fisik.
 Hal ini berarti, data tidak diurutkan
secara terurut pada harddisk.
 Data pada tabel database Anda akan
terurut secara logical pada level pages
dan extent.

Index
13


clustered index
non-clustered index.
Clustered Index
14


Clustered index dapat diumpamakan seperti index
huruf pada sebuah kamus.
Mencari arti kata ‘mobil’ di Kamus Besar Bahasa Indonesia
(KBBI) :




membuka kamus berdasarkan index hurufnya
mencari huruf ‘m’
meneruskan pencarian hingga menemukan halaman yang
mengandung kata ‘mo’
mengakhiri proses pencarian hingga didapat kata “mobil”
Clustered…
15



Saat sebuah data baru dimasukkan, maka DB akan
memaksa untuk memasukkan data tersebut pada
urutan yang seharusnya.
Bagaimana cara DB tahu urutan yang sebenarnya
dan kita inginkan?
Terapkan clustered index pada kolom tabel yang
paling sering diakses oleh user (  bagaimana
bisa ?)
Saran…
16


Oleh karena itu, sangat disarankan pembuatan
kolom tabel yang spesifik.
Misal : TabelKTP pada database DataKaryawan

17
18


karena pencarian data pada database KTP lebih
banyak menggunakan parameter nama belakang,
maka dapat diterapkan clustered index pada kolom
Nama Belakang.
Hal ini akan membuat proses pencarian data pada
server database lebih cepat.
Cara menerapkan clustered index ?
19

Command Line

GUI-based
20


CREATE CLUSTERED INDEX ci_namabelakang ON
TabelKTP(NamaBelakang);
ci_namabelakang adalah nama clustered index yang kita buat,
sedangkan TabelKTP adalah nama tabel dimana kita ingin
menerapkan clustered index pada salah satu kolomnya,
sedangkan (NamaBelakang) adalah kolom yang akan diberikan
clustered index.
Clustered… note…
21


Perlu diingat bahwa clustered index hanya bisa
diterapkan sebanyak 1 kali pada 1 tabel, dan
secara otomatis, sebuah primary key juga akan
menjadi clustered index pada tabel tersebut.
Clustered index sebaiknya diterapkan pada kolom
tabel yang paling sering digunakan pada saat
pencarian data.
Non-clustered Index
22

non-clustered index dapat diumpamakan seperti
sebuah daftar indeks pada buku.
23

Jika kita mencari sebuah arti kata atau
pembahasan mengenai sebuah kata pada buku
yang memiliki indeks pada bagian belakangnya,
maka yang kita lakukan pertama kali adalah
mencari kata tersebut pada indeks buku.
24


Setelah kata ditemukan, maka apakah kita
langsung mendapatkan hasil yang kita cari? Tidak.
Kita masih harus mencari penjelasan mengenai kata
tersebut pada halaman yang tercantum di sebelah
kata tersebut bukan?
25


Ilustrasi tersebut berlaku juga pada non-clustered
index. Non-clustered index berisi pointer-pointer
yang menunjukkan lokasi sesungguhnya dari data
Cara ini sedikit lebih membutuhkan waktu
pencarian dibanding dengan metode clustered
index, namun pada database dengan skala OLDB
atau VLDB, metode ini sangat membantu dibanding
dengan penggunaan metode table-scan.
26

non-clustered index dapat diimplementasikan
sebanyak 249 buah pada sebuah tabel.
Cara penerapan :
27

Command Line

GUI-based
28


Misalnya, jika pada tabel KTP pada database
DataKaryawan, parameter yang juga sering
digunakan dalam pencarian data (selain nama
belakang) adalah tanggal lahir, maka dapat
diimplementasikan non-clustered index dengan cara
sebagai berikut :
CREATE NONCLUSTERED INDEX nci_tanggallahir
ON TabelKTP(TanggalLahir);
Next Meeting
29

Macam-macam Jenis indexing
Daftar Pustaka
30
File PPT indexing oleh Dimara Kusuma Hakim, ST.
Rangga Praduwiratna.
 www.cs.umd.edu/class/fall2002/cmsc818s/Lectures/i
ndexing.pdf

Download