SlideShare a Scribd company logo
TUGAS SISTEM BASIS DATA
Database Performance Tuning
|| Oleh ||
1. Elma Fiana Nim : 1513000045
2. Friska Nuraini Nim : 1513000048
3. Rut Kristina M. Nim : 1513000064
4. Siti Aminah Nim : 1513000068
5. Melyana Tumorank Nim : 1513000425
SISTEM INFORMASI A-SIANG SEM IV
FAKULTAS TEKNIK DAN ILMU KOMPUTER
T.A 2016/2017
2
Database Performance Tuning
A. Pengenalan Tentang Performance Tuning
Performance tuning adalah suatu usaha untuk memperbaiki kinerja perangkat keras dan
perangkat lunak komputer. Perangkat keras komputer adalah peralatan di sistem
komputer yang secara fisik terlihat dan dapat dijamah, peralatan tersebut meliputi
peralatan input (masukan), peralatan proses dan peralatan output (keluaran) [1].
Perangkat lunak komputer adalah program yang berisi perintah– perintah untuk
melakukan pengolahan data [1].
Tuning bisa berarti mengganti atau menambah, contohnya tuning perangkat keras bisa
diartikan mengganti dengan perangkat keras yang lebih baik atau menambah
perangkat keras yang diperlukan untuk menambah suatu kinerja yang lebih baik. Dalam
sebuah manajemen basis data, tuning sebaiknya tidak dilakukan hanya pada basis
datanya saja, tetapi juga pada sistem operasi yang dipakai, proses
/ operasi bisnis, aplikasi dan perangkat keras.
Kinerja sistem (Performance) dalam banyak hal berarti suatu kecepatan eksekusi, atau
sesuatu yang sudah benar bila dilihat secara menyeluruh. Jadi, performance tuning
merupakan usaha untuk memperbaiki atau menyetel suatu sistem menjadi lebih baik.
Sistem adalah jaringan dari pada elemen–elemen yang saling berhuibungan,
membentuk satu kesatuan untuk melaksanakan suatu tujuan pokok dari sistem tersebut
[1].
1. Memulai Tuning
Tuning bisa dilakukan dengan langkah–langkah yang bervariasi, karena dalam
pelaksanaannya kadang kala berulang–ulang dilakukan suatu tuning tertentu tidak harus
berurutan. Namun, memulai tuning bisa dilakukan dengan tahapan sebagai berikut:
1) Tune operasi bisnis
Tune operasi bisnis bisa saja ditujukan untuk meningkatkan penghasilan atau laba suatu
perusahaan, secara langsung maupun tidak langsung. Efek dari tune operasi bisnis
adalah dari segi pelayanan yang lebih baik.
3
Salah satu contoh dari tune operasi bisnis adalah operasional transaksi di teller pada
sebuah bank, dimana bank menyediakan fasilitas ATM (Automated Teller Machine)
yang merupakan suatu perubahan dalam operasi bisnis bank.
2) Tune Perangkat Keras
Tune perangkat keras merupakan langkah logis yang menyertai tune operasi bisnis,
karena bila suatu tune opersi bisnis sudah ditentukan maka
diperlukan suatu perangkat keras yang mampu untuk memenuhi kebutuhan tersebut.
Walaupun perangkat keras sudah ada, tetap masih diperlukan tune perangkat keras.
3) Tune Sistem Operasi
Tune sistem operasi merupakan langkah yang logis sesudah melakukan tune perangkat
keras, dimana sistem operasi adalah sebuah perantara antara hardware dengan software
lainnya. Pada tune sistem operasi itu tergantung sistem operasi yang dipakai, setiap
sistem operasi yang dipakai memiliki langkah–langkah tuning yang berbeda antara satu
dengan yang lainnya. Misalnya melakukan tune pada Windows berbeda bila
melakukan tune pada sistem operasi yang menggunakan
Unix.
4) Tune aplikasi
Tune aplikasi berkaitan dengan tune operasi bisnis, karena sebuah aplikasi merupakan
implementasi operasi bisnis yang melibatkan mesin. Suatu hal yang umum dari aplikasi
komputer adalah pemakaian code cache, data cache, dan stack cache.
Code cache adalah memori fisik untuk menyimpan kode yang dijalankan [3]. Data cache
adalah memori fisik untuk menyimpan data (input atau output) yang sedang diolah [3].
Dan stack cache adalah tempat menyimpan isi stack [3]. Stack adalah suatu sesi yang di
dalamnya berisi variabel, atau array (variabel berindek yang digunakan untuk
menyimpan beberapa nilai dalam satu nama array) [1]. Istilah–istilah untuk ketiga
cache tersebut mungkin berbeda dari suatu development tool ke tool lain dan dari suatu
aplikasi ke aplikasi lain, namun esensinya sama.
5) Tune SMBD (Sistem Manajemen Basis Data)
Tune SMBD ini merupakan pembahasan inti dari materi penelitian ini, yang lebih lanjut
dijelaskan pada bagian–bagian selanjutnya.
4
2. Prinsip dan Kriteria Tuning
Prinsip untuk tuning adalah mengukur keadaan sebelum dan sesudah tuning dilakukan
dan untuk melaksanakan tuning tersebut maka diperlukannya suatu alat diagnostik
untuk mendiagnosa keadaan.
Kriteria tuning yang dipakai harus dijadikan sebagai acuan sebuah proses – proses
selanjutnya, dimana bisa mewakili kriteria–kriteria yang dipakai, misalnya kriteria
tuning untuk tune data cache menggunakan parameter hit-ratio minimal
90%. Hit-ratio diperoleh dengan SQL statement.
3. Prasyarat Tuning
Prasyarat tuning yaitu mementukan parameter instance yang akan ditune . Instance
merupakan kumpulan dari oracle process (proses–proses di oracle) dan alokasi memori
yang ada di oracle, yaitu SGA (System Global Area) yang digunakan untuk mengakses
informasi–informasi yang tersimpan pada basis data [3]. Hal ini dapat membantu
instance memberikan informasi akurat dari suatu transaksi atau query. Prasyarat tuning
juga harus mencatat konfigurasi perangkat keras dan perangkat lunak yang akan
dilakukan tuning. Hal ini membantu pada saat akan melakukan tuning di perangkat keras
dan perangkat lunak yang berbeda. Dan persiapan keamanan secara baik juga diperlukan
dalam prasyarat tuning.
4. Type dari Performance Tuning
a. System Tuning
Sytem tuning terjadi pada tingkat tertinggi dan memiliki dampak terbesar pada kesehatan
secara keseluruhan aplikasi database, karena setiap aplikasi tergantung pada sistem. kita
akan mendefinisikan sistem terdiri dari DBMS itu sendiri dan semua komponen terkait
yang dipercayakan. DBMS dapat dan harus bisa disetel untuk menjamin kinerja yang
optimal. Cara di mana perangkat lunak DBMS terinstal, memori, disk, CPU, sumber
daya lainnya, dan opsi konfigurasi dapat mempengaruhi kinerja aplikasi database. dan
Intinya DBMS harus bisa di seting agar bisa menjamin performa sistem tetap optimal.
b. Database Tuning
Performansi dapat dipengaruhi oleh desain fisik database, termasuk normalisasi,
penyimpanan disk, jumlah tabel, desain indeks, dan penggunaan DDL dan parameter
yang terkait. Lokasi fisik file database pada sistem disk akan berdampak pada kinerja
aplikasi mengakses data. Semakin banyak data yang tersimpan pada perangkat disk yang
5
sama, kemungkinan kinerja degradasi meningkat. dan Intinya lokasi fisik dari file
database pada sistem disk dapat mempengaruhi performa aplikasi dalam mengakses data
ke DataBase .
c. Application Tuning
Aplikasi itu sendiri harus dirancang secara tepat dan dipantau untuk efisiensi.
Kebanyakan ahli setuju bahwa sebanyak 75% dari masalah kinerja disebabkan oleh
syntax aplikasi yang tidak benar. SQL adalah penyebab utama; coding pernyataan SQL
yang efisien dapat menjadi rumit. Pengembang perlu diajarkan bagaimana
merumuskan, memantau, dan pernyataan SQL yang benar.dan Intinya tidak semua
masalah aplikasi disebabkan oleh penulisan SQL yang tidak sesuai.
5. Teknik Tuning dan Optimizing
Ada Beberapa Teknik Tuniang dan Optimizing, antaralain sebagai berikut :
1. Partitioning
Adalah dengan Mempartisi database dapat mempercepat pencapaian proses paralel.
Proses paralel merupakan proses untuk menggunakan perintah jamak untuk mengakses
database, Proses paralel digunakan untuk mengurangi elapsed time query database
2. Raw Partition VS File System
Raw partition lebih sering digunakan daripada menyimpan data di cache file system,
Karena cache DBMS akan langsung menuliskan data tanpa intervensi dari file system.
Tidak dianjurkan untuk menambahkan cache DBMS dengan cache yang lain
3. Indexing
Index digunakan untuk Menemukan baris untuk nilai tertentu pada sebuah atau banyak
kolom, Mempermudah operasi JOIN, Menghubungkan data antara tabel, Agregasi
data, Mengurutkan data sesuai perintah query. Dengan index mempermudah proses
pengolahan data
4. Denormalisasi
Ialah Kebalikan dari normalisasi, Salah satu teknik untuk meningkatkan performa
dengan menambahkan data yang redundant atau dengan mengelompokkan data.
Denormalisasi Dapat diterapkan dengan: Prejoined table, Report table, Mirror table, Split
table, Combined tables, Speed tables, Storing redundant data, Storing repeating groups,
Storing derivable data, dan Clustering. Tabel yang sudah dikelompokkan akan
menyimpan data secara fisik di dalam sebuah disk sesuai dengan kolomnya masing-
masing
6
5. Interleaving Data
Jika data dari satu tabel dengan tabel yang lain sering digabungkan, maka dapat
dipertimbangkan untuk mengumpulkan data tersebut dalam satu cluster. Interleaving
data merupakan pengkhususan dari cluster
6. Free Space
Free Space terkadang disebut dengan Fill Factor yang merupakan ruang kosong yang
disediakan untuk menambah data baru dengan parameter yang biasa digunakan adalah
PCTFREE dan FREEPAGE. Tugas DBA adalah memastikan jumlah ruang kosong yang
tepat untuk setiap tabel.
Keuntungan Free Space
 Insert lebih cepat
 Ketika sebuah baris baru di-insert-kan, langsung dapat di-cluster-kan
 Concurrency lebih mudah
Kekurangan
 Disk storage yang dibutuhkan lebih besar
 Waktu scan lebih lama
 Jumlah baris yang lebih sedikit, akan meminta I/O yang lebih banyak
 Mengurangi efisiensi data caching karena sedikitnya baris yang discan
per I/O.
7. Compression
Compression adalah untuk meringkas database yang dapat mengurangi penggunaan
ruang penyimpanan data. Namun Tidak semua table perlu dicompress.
Keuntungan : menghemat ruang penyimpanan dan mengurangi waktu pemrosesan
data
Kekurangan : Biaya tambahan untuk melakukan compress dan decompress data
8. File Placement and Allocation
Yang harus diperhatikan ketika mengalokasikan data :
 Jika memungkinkan memisahkan data dengan index
 Memisahkan file untuk tabel yang sering diakses bersama
 Jika data dari tabel disimpan di dalam halaman yang berbeda,
diutamakan untuk memisahkan disk penyimpan untuk
mempermudah dan mengoptimalkan operasi yang paralel
9. Page size
7
Beberapa DBMS membatasi jumlah page yang digunakan untuk menyimpan data,
Karena itu DBA harus dapat menghitung jumlah halaman yang dibutuhkan berdasarkan
jumlah baris data, jumlah baris per halaman, dan jumlah ruang kosong yang dibutuhkan.
10. Reorganization
Reorganization adalah memaksimalkan availabilitty dan reliability data. Me-reorganisasi
database berarti merestrukturisasi objek database, memaksimalkan availability dan
kecepatan, serta mengefisiensi fungsi database.
6. Masalah yang menyebabkan Performa Databse menurun
Penyebab Performa Database menurun diantaranya :
 Scan Tabel
 Index yang tidak sesuai
 Pilihan Index yang tidak sesuai
 Tidak menggunakan Index yang tersedia
 Statistik database yang usang
 Tabel tergabung dalam urutan yang tidak optimal
Penyebab lain Performa Database menurun diantaranya :
 Memory Allocation (Buffer/Cache for data, SQL, Authorization)
 Logging Options (Log Cache, Log Size, Oracle Rollback Segments)
 I/O Efficiency (Separation of tables and indexes on disk, database
size, fragmented and extended files)
 Overall application and database workload on the server
 Database schema definitions
B. Database Tuning
Tuning database adalah proses fine-tuning database kinerja server. Sebagai pendatang
baru SQL, jarang sekali mungkin dari pemula akan terkena tuning database kecuali
seorang DBA DBA baru atau pindah ke lingkungan database relasional. Pada saat akan
mengelola database atau menggunakan SQL pada aplikasi atau program, Seorang
pemula akan mendapatkan keuntungan dengan mengetahui sesuatu tentang proses
tuning-database. Kunci keberhasilan setiap database bagi semua pihak untuk bekerja
sama. Beberapa tips umum untuk tuning database ikuti.
 Minimalkan ukuran keseluruhan yang dibutuhkan untuk database. Ini bagus
untuk memungkinkan ruang untuk pertumbuhan ketika mendesain
8
database, tapi jangan pergi ke laut. Jangan mengikat sumber daya yang Anda mungkin
perlu untuk mengakomodasi pertumbuhan database.
 Percobaan dengan variabel waktu-slice proses pengguna. Variabel ini mengatur
jumlah waktu database server scheduler mengalokasikan untuk pengguna setiap proses.
 Optimalkan jaringan paket ukuran yang digunakan oleh aplikasi. Semakin besar
jumlah data yang dikirim melalui jaringan, semakin besar ukurannya jaringan paket
seharusnya. Tanyakan database dan dokumentasi jaringan untuk rincian lebih lanjut.
 Store transaksi log pada hard disk yang terpisah. Untuk setiap transaksi yang terjadi,
server harus menulis perubahan transaksi log. Jika Anda menyimpan log file-file pada
disk yang sama seperti Anda menyimpan data, Anda dapat menciptakan hambatan
kinerja.
 Stripe sangat besar tabel di beberapa disk. Jika pengguna mengakses bersamaan
sebuah meja besar yang banyak tersebar di disk, ada kurang banyak kesempatan harus
menunggu sumber daya sistem.
 Toko semacam database daerah, sistem kawasan katalog, dan daerah kembalikan
pada hard disk yang terpisah. Ini adalah semua wilayah di database yang paling sering
akses pengguna. Dengan menyebarkan daerah- daerah tersebut selama beberapa disk
drive, Anda memaksimalkan penggunaan sumber daya sistem
 Tambah CPU. Fungsi ini administrator sistem dapat secara drastis meningkatkan
kinerja database. Menambahkan CPU dapat mempercepat pemrosesan data karena alasan
yang jelas. Jika Anda memiliki beberapa CPU pada mesin, maka Anda mungkin dapat
menerapkan strategi pemrosesan paralel,. Database Anda Lihat dokumentasi lebih untuk
informasi paralel pada pemrosesan jika tersedia dengan implementasi Anda.
 Tambah memori. Secara umum, lebih banyak lebih baik.
 Toko tabel dan indeks pada hard disk yang terpisah. Anda harus menyimpan indeks
dan tabel terkait pada disk drive yang pernah terpisah bila memungkinkan. Susunan ini
memungkinkan meja untuk dibaca pada saat yang sama indeks ini direferensikan pada
disk lain. Kemampuan untuk menyimpan objek pada beberapa disk tergantung pada
berapa banyak disk yang terhubung ke controller.
9
Gambar di atas memperlihatkan contoh sederhana tentang bagaimana memisahkan
wilayah utama dari database .
C. Study Kasus Performance Tuning Pada SQL
Ada banyak cara yang dapat dan harus dilakukan agar proses server database dapat
berlangsung cepat. Dalam pengembangan aplikasi database, hal ini biasa disebut dengan
istilah performance tuning, karena berkenaan dengan kinerja/performance database. [7]
Sebagian besar dari SQL yang digunakan di dalam pengembangan aplikasi basis data
adalah perintah SELECT yang ditujukan untuk menarik/mengambil sejumlah baris data
dari suatu tabel. Misalkan, SELECT * FROM Tabel1 berarti "tarik semua data - ditandai
dengan * - dari tabel Tabel1". Contoh lain: SELECT DATA1, DATA2 FROM Tabel2
berarti "tarik DATA1 dan DATA2 dari tabel Tabel2". Mengingat SELECT merupakan
perintah SQL yang paling banyak digunakan, maka artikel ini memfokuskan pada
optimalisasi perintah SELECT untuk mendapatkan kinerja yang paling optimal yang
antara lain ditandai dengan kecepatan akses/proses.
SELECT memerlukan waktu pemrosesan yang panjang dan sangat tergantung pada
klausul SELECT yang digunakan. Untuk mempercepatnya, setiap programmer harus
memperhatikan teknik-teknik optimalisasi SQL.
1. Pemilihan Metode Akses
Dalam mengambil/menarik data dari suatu table, SQL melakukan salah satu dari
alternatif berikut:
a. Pengaksesan secara bertahap (sequential access). Teknik ini juga sering
direferensikan sebagai full table scanning, karena SQL akan mengambil data yang
diinginkan dengan lebih dulu merunut/melacak data satu demi satu baris, dimulai dari
record/baris pertama. Apabila proses ini melibatkan tabel dengan jumlah record yang
banyak, maka metode ini tidak akan efisien, karena membutuhkan waktu yang lama.
10
Contoh Kasus : Jika Sebuah Database hotel memiliki table tamu,
pengaksesan secara bertahap untuk mengakses tabel tamu dilakukan dengan
seperti gambar dibawah ini :
SELECT * FROM tamu
b. Pengaksesan secara langsung (direct access). Dalam teknik ini, SQL hanya
membaca baris/data yang diminta. Metode ini biasa juga disebut access by index,
karena untuk dapat melakukan ini diperlukan indeks pada kolom yang digunakan untuk
kriteria pencarian. Dengan pembacaan langsung pada baris yang dibutuhkan, maka
metode ini membutuhkan waktu yang lebih cepat dari sequential access.
Contoh Kasus: Jika Sebuah Database hotel sama seperti di atas memiliki table tamu,
namun dalam pengaksesan secara direct atau langsung ini ialah dengan menunjukan
langsung dimana kolom yang akan di index. untuk mengakses tabel tamu dengan direct
acces dilakukan dengan seperti gambar
dibawah ini :
SELECT * FROM tamu WHERE Nama_Tamu = 'Rooney'
11
2. Pembuatan Index
Pencarian data menggunakan SELECT biasanya dengan menggunakan kriteria pencarian
menggunakan klausa WHERE, atau HAVING. Contoh berikut menunjukkan adanya
spesifikasi pencarian dengan batasan.
Contoh Study Kasus : Jika sebuah database sama dengan yang di atas, database hotel
yang mempunyai tabel tamu. kasus ini ingin mencari kode tamu yang dimana kode
tamunya di atas sama dengan 1000004, maka pencarian dengan batasan ini
dilakukan seperti query berikut :
SELECT * FROM tamu WHERE kode_tamu > 1000004
Kolom yang akan digunakan dalam spesifikasi pencarian data perlu dibuat index agar
dapat menggunakan metode direct access. Dalam contoh di atas, maka proses SELECT
akan lebih cepat memberikan hasil apabila dibuatkan index pada kolom kode_tamu dari
tabel tamu.
12
Contoh lain, misalkan suatu tabel tamu mempunyai kolom (Kode_Tamu, Nama_Tamu,
No_Identitas, Alamat). Apabila dalam proses SELECT nantinya akan lebih banyak
menggunakan kolom Alamat sebagai batasan/kriteria pencarian, maka disarankan untuk
membuat index dari kolom kode_tamu.
Cara pembuatan index dapat menggunakan perintah sebagai berikut:
Index di atas dengan query berikut :
CREATE {UNIQUE} INDEX nama_indeks
ON identifikator_tabel ((nama_kolom {ASC|DESC}), ...); CREATE
INDEX namatabel_namakolom_NDX
ON nama_tabel(nama_kolom);
Index dapat dibuat untuk satu kolom atau gabungan dari beberapa kolom.
Berikut pedoman untuk pemilihan kolom yang perlu dibuatkan index:
 Index unik pada kolom kunci utama (primary key)
 Index pada kolom kunci asing (foreign key)
 Index pada kolom yang digunakan sebagai kriteria pemilihan
 Index pada kolom yang digunakan untuk pengurutan (order by)
 Index pada kolom yang digunakan untuk pengelompokan (group by)
3. Perbaikan Pernyataan SELECT
3.1. Hindari Penggunaan SELECT *
13
Fokuslah hanya pada kolom yang memang benar-benar dibutuhkan. Misalkan
diasumsikan bahwa tabel TAMU memiliki kolom (Kode_Tamu, Nama_Tamu,
No_Identitas, Alamat, Kota, No_Telp), maka jika diinginkan informasi panggilan dari
A ke B dan durasinya maka dapat dilakukan dengan
perintah sebagai berikut:
Select * From Tamu
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
select Kode_Tamu, Nama_Tamu,No_Identitas, Alamat, Kota, No_Telp From Tamu
Berikut gambar proses hasil eksekusinya :
3.2. Gunakan Kriteria
Hindari pengaksesan seluruh data, tetapi fokuslah pada kriteria data yang diperlukan
sesuai kebutuhan. Contoh apabila dibutuhkan informasi daftar alamat
tamu yang diketahui cuma “Jl. Mang”, maka:
select Nama_Tamu,No_Identitas, Alamat, Kota, No_Telp From Tamu
14
Perintah SQL di atas bisa menemukan informasi tersebut namun akan lebih
efisien, jika dirubah menjadi:
select Nama_Tamu, Alamat, Kota From Tamu where substring(Alamat,1,7) =
'Jl. Man';
Maka tampilan yang dihasilkan :
3.3.Hindari OR, gunakan UNION
Operator OR membutuhkan waktu yang banyak. Bila memungkinkan, gunakan
operator UNION yang setara. Contoh Study Kasus jika kita ingin mencari
nama dengan awalan Ron dan Adr, maka berikut querynya :
select kode_tamu, Nama_Tamu, Alamat, Kota From tamu where
substring(Nama_Tamu,1,3) = 'Ron' or substring(Nama_Tamu,1,3) = 'Adr'
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
select kode_tamu, Nama_Tamu, Alamat, Kota From tamu where
substring(Nama_Tamu,1,3) = 'Ron' UNION select kode_tamu, Nama_Tamu, Alamat,
Kota From tamu where substring(Nama_Tamu,1,3) = 'Adr'
15
SELECT kode_tamu, Nama_Tamu, Alamat, Kota FROM tamu WHERE (Kode_Tamu <=
1000003 );
Maka yang dihasilkan seperti gambar dibawah ini :
3.4.Hindari NOT
Hindari operator NOT dan ganti dengan operator perbandingan bila
memungkinkan. Contoh study kasus mencari kode_tamu dengan tidak lebih dari
1000003, maka yang querynya seperti berikut :
SELECT kode_tamu, Nama_Tamu, Alamat, Kota FROM tamu WHERE NOT (Kode_Tamu
> 1000003 );
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
SELECT kode_tamu, Nama_Tamu, Alamat, Kota FROM tamu WHERE (Kode_Tamu <=
1000003 );
Maka yang dihasilkan seperti gambar dibawah ini :
16
3.5.Hindari Ekspresi Matematika di Sisi Kiri Operand
Bila kriteria pencarian memerlukan ekspresi matematika, maka posisikan ekspresi
tersebut pada sebelah kanan operator jika memungkinkan. Contoh Study kasus mencari
harga di table kamar dengan harga lebih 200000 di atas 1000000,
berikut querynya :
SELECT No_Kamar, Nama_Kamar, Kode_Tipe_Kamar, Kapasitas, Harga,
Status_Kamar FROM Kamar WHERE(Harga + 200000 > 1000000);
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
SELECT No_Kamar, Nama_Kamar, Kode_Tipe_Kamar, Kapasitas, Harga,
Status_Kamar FROM Kamar WHERE (Harga > 800000 )
Hasilnya Seperti gambar berikut :
17
3.6. Hindari Operator IN
Penggunaan operator IN dalam kriteria pencarian merupakan pernyataan SELECT yang
mahal, sehingga perlu dihindari. Berikut cara menghindarinya untuk dua bentuk
penggunaan IN. Contoh Study Kasus mencari nomor kamar 202, 203 yang ada di tabel
kamar.
Penggunaan operator IN bentuk pertama:
SELECT No_kamar , Nama_Kamar FROM Kamar WHERE Substring(No_kamar, 1, 3) IN
('202', '203');
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
SELECT No_kamar , Nama_Kamar FROM Kamar WHERE Substring(No_kamar, 1, 3) =
'202' OR Substring(No_kamar, 1, 3) = '201';
18
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
Hasilnya berikut :
Untuk Study kasus yang selanjutnya, untuk mengindari penggunaan operator OR.
Penggunaan operator IN bentuk kedua, dalam study kasus ini adalah mencari nomor
kamar sama yang ada di dalam tabel check_in :
SELECT No_kamar , Nama_Kamar FROM Kamar WHERE Substring(No_kamar, 1, 3) IN
(SELECT No_Kamar FROM Check_In) ;
SELECT Kamar.No_kamar , Kamar.Nama_Kamar, Check_in.No_Kamar FROM Kamar,
Check_In WHERE Substring(Kamar.No_kamar, 1, 3) = Check_In.No_Kamar ;
Berikut hasil implementasinya :
19
SELECT A.ANUMBER, A.BNUMBER, A.DURASI FROM T_CA
LLS A SELECT A.ANUMBER, A.BNUMBER, A.DURASI
3.7.Hindari Operator EXIST
Sama halnya dengan EXIST, bila memungkinkan hindari penggunaan operator ini.
Contoh study kasus ialah mencari nomor kamar yang sama di tabel
kamar dan checkin, querynya seperti berikut :
SELECT Kamar.No_kamar , Kamar.Nama_Kamar, Check_in.No_Kamar FROM Kamar,
Check_In
WHERE EXISTS (SELECT Check_in.No_Kamar no_kamar WHERE Check_in.No_Kamar
= Kamar.No_kamar)
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
SELECT Kamar.No_kamar , Kamar.Nama_Kamar, Check_in.No_Kamar FROM Kamar,
Check_In WHERE Substring(Kamar.No_kamar, 1, 3) = Check_In.No_Kamar ;
Hasilnya Seperti berikut :
20
3.8. Hindari Operator LIKE
Penggunaan operator LIKE akan menyebabkan full table scanning. Oleh karena itu, perlu
dirubah dengan ekspresi yang sama bila memungkinkan. Contoh Study kasus mencari
nomor identitas yang hanya diketahui depannya dengan Like %, namun hal itu kurang
efesien, lebih efesien jika querynya ditentukan pencarian awalnya
555501 dan samapai 555503, jadi tidak full table scanning,
SELECT Kode_Tamu, Nama_Tamu,No_Identitas, Alamat, Kota, No_Telp FROM Tamu
WHERE No_Identitas LIKE '55550%';
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
SELECT Kode_Tamu, Nama_Tamu,No_Identitas, Alamat, Kota, No_Telp FROM Tamu
WHERE No_Identitas >= '555501' AND No_Identitas < '555503';
21
3.9.Urutan Nama Kolom
Penulisan nama kolom disarankan menggunakan urutan sebagaimana kolom tersebut
didefinisikan di dalam tabel. Study Kasus tabel berikut mempunyai kolom dengan
urutan sebagaimana tertulis: Kamar (No_Kamar, Nama_Kamar, Kode_Tipe_Kamar,
Kapasitas, Harga, Status_Kamar) di mana terdapat composite index untuk kolom
No_Kamar dan Kode_Tipe_Kamar berikut querynya :
SELECT Kapasitas, Nama_Kamar, Status_Kamar, Harga FROM Kamar
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
SELECT Nama_Kamar, Kapasitas, Harga, Status_Kamar FROM Kamar
Hasilnya, tabel berurutan :
22
Pada penggunaan index dari beberapa kolom (composite index) sebutkan nama
kolomnya dalam urutan yang benar sesuai dengan urutan kolom tersebut di dalam
tabelnya.
SELECT Nama_Kamar, Kapasitas, Harga, Status_Kamar FROM Kamar WHERE
Kode_Tipe_kamar > 2010203 AND No_Kamar = 205;
Perintah SQL di atas akan lebih efisien jika dirubah menjadi:
SELECT Nama_Kamar, Kapasitas, Harga, Status_Kamar FROM Kamar WHERE
No_Kamar = 205 AND Kode_Tipe_kamar > 2010203;
Hasilnya :
23
3.10. Gunakan Konsensus Penulisan SQL
SQL merupakan bahasa pemrograman tingkat tinggi generasi keempat. Secara internal,
Oracle akan mengolah lebih dulu setiap pernyataan SQL untuk mendapatkan hasil yang
diinginkan. Jika Oracle menemukan suatu pernyataan SQL yang dimasukkan pertama
kali, maka Oracle akan mengolah pernyataan tersebut menjadi pernyataan perintah low
level yang dimengerti oleh server database untuk mendapatkan hasilnya. Perintah low
level ini akan didaftarkan oleh Oracle pada suatu area memory khusus yang disebut
LIBRARY CACHE untuk keperluan lebih lanjut. Jika suatu saat pernyataan SQL yang
sama muncul lagi, maka Oracle tidak akan merubah SQL menjadi low level, namun
menggunakan perintah low level yang sudah ada terdaftar pada LIBRARY CACHE.
Dengan demikian, mengurangi proses translasi dari bahasa tingkat tinggi ke bahasa low
level.
24
REFERENSI
Edmundus, A.Haryadi. 2005. Perkenalan Sistem Basis Data. Yogyakarta: PT. Gramedia.
http://www.tutorialdba.com/tuning-database2
http://content.yudu.com/Library/A1qiqr/DatabasePerformanceT/resources/index.html
http://imam_muiz.staff.gunadarma.ac.id/Downloads/files/6535/BASIS+DATA.pdf

More Related Content

What's hot

REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAKREKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
treeyan
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
Kualitas informasi
Kualitas informasiKualitas informasi
Kualitas informasi
Imam Nursyihab
 
Materi 5 manajemen keamanan basis data
Materi 5  manajemen keamanan basis dataMateri 5  manajemen keamanan basis data
Materi 5 manajemen keamanan basis data
Elma Fiana
 
Contoh soal Teori antrian khusus Poisson
Contoh soal Teori antrian khusus PoissonContoh soal Teori antrian khusus Poisson
Contoh soal Teori antrian khusus PoissonLilies DLiestyowati
 
IMPLEMENTASI STRATEGIK PERUSAHAAN
IMPLEMENTASI STRATEGIK PERUSAHAANIMPLEMENTASI STRATEGIK PERUSAHAAN
IMPLEMENTASI STRATEGIK PERUSAHAAN
Heru Fernandez
 
Makalah database manajemen sistem
Makalah database manajemen sistemMakalah database manajemen sistem
Makalah database manajemen sistem
Mhd. Abdullah Hamid
 
Proses Data Mining
Proses Data MiningProses Data Mining
Proses Data Mining
dedidarwis
 
Perancangan database penyewaan lapangan
Perancangan database penyewaan lapanganPerancangan database penyewaan lapangan
Perancangan database penyewaan lapangan
evi kufia mahasanti
 
BMP EKMA4434 Sistem Informasi Manajemen
BMP EKMA4434 Sistem Informasi ManajemenBMP EKMA4434 Sistem Informasi Manajemen
BMP EKMA4434 Sistem Informasi Manajemen
Mang Engkus
 
Materi Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiMateri Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiDerina Ellya R
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)
Tri Sugihartono
 
Makalah Sistem Informasi Sumber Daya Manusia (SDM)
Makalah Sistem Informasi Sumber Daya Manusia (SDM)Makalah Sistem Informasi Sumber Daya Manusia (SDM)
Makalah Sistem Informasi Sumber Daya Manusia (SDM)Ratna Kusuma Wardhany
 
Sistem Berkas 1
Sistem Berkas 1Sistem Berkas 1
Sistem Berkas 1
Mrirfan
 
Sistem kontrol, pengendalian & keamanan sistem
Sistem kontrol, pengendalian & keamanan sistemSistem kontrol, pengendalian & keamanan sistem
Sistem kontrol, pengendalian & keamanan sistem
Fery Anugra
 
Makalah pengenalan basis data
Makalah pengenalan basis dataMakalah pengenalan basis data
Makalah pengenalan basis dataMuttyTeukie Elf
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
Rakhmi Khalida, M.M.S.I
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
Lucha Kamala Putri
 

What's hot (20)

REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAKREKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Kualitas informasi
Kualitas informasiKualitas informasi
Kualitas informasi
 
Makalah Tentang Database
Makalah Tentang DatabaseMakalah Tentang Database
Makalah Tentang Database
 
Materi 5 manajemen keamanan basis data
Materi 5  manajemen keamanan basis dataMateri 5  manajemen keamanan basis data
Materi 5 manajemen keamanan basis data
 
Contoh soal Teori antrian khusus Poisson
Contoh soal Teori antrian khusus PoissonContoh soal Teori antrian khusus Poisson
Contoh soal Teori antrian khusus Poisson
 
IMPLEMENTASI STRATEGIK PERUSAHAAN
IMPLEMENTASI STRATEGIK PERUSAHAANIMPLEMENTASI STRATEGIK PERUSAHAAN
IMPLEMENTASI STRATEGIK PERUSAHAAN
 
Makalah database manajemen sistem
Makalah database manajemen sistemMakalah database manajemen sistem
Makalah database manajemen sistem
 
Proses Data Mining
Proses Data MiningProses Data Mining
Proses Data Mining
 
Perancangan database penyewaan lapangan
Perancangan database penyewaan lapanganPerancangan database penyewaan lapangan
Perancangan database penyewaan lapangan
 
BMP EKMA4434 Sistem Informasi Manajemen
BMP EKMA4434 Sistem Informasi ManajemenBMP EKMA4434 Sistem Informasi Manajemen
BMP EKMA4434 Sistem Informasi Manajemen
 
Materi Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan NormalisasiMateri Basis Data - Anomali dan Normalisasi
Materi Basis Data - Anomali dan Normalisasi
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)
 
Makalah Sistem Informasi Sumber Daya Manusia (SDM)
Makalah Sistem Informasi Sumber Daya Manusia (SDM)Makalah Sistem Informasi Sumber Daya Manusia (SDM)
Makalah Sistem Informasi Sumber Daya Manusia (SDM)
 
Sistem Berkas 1
Sistem Berkas 1Sistem Berkas 1
Sistem Berkas 1
 
Sistem kontrol, pengendalian & keamanan sistem
Sistem kontrol, pengendalian & keamanan sistemSistem kontrol, pengendalian & keamanan sistem
Sistem kontrol, pengendalian & keamanan sistem
 
Makalah pengenalan basis data
Makalah pengenalan basis dataMakalah pengenalan basis data
Makalah pengenalan basis data
 
Perkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasiPerkuliahan 01 Teknik kompilasi
Perkuliahan 01 Teknik kompilasi
 
Pertemuan 10
Pertemuan 10Pertemuan 10
Pertemuan 10
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
 

Similar to Materi 6 db performance tuning

PSI
PSIPSI
PSI
iko12
 
Sim siti nurhaliza, Hapzi Ali Sistem Manajemen Database
Sim siti nurhaliza, Hapzi Ali Sistem Manajemen DatabaseSim siti nurhaliza, Hapzi Ali Sistem Manajemen Database
Sim siti nurhaliza, Hapzi Ali Sistem Manajemen Database
Siti Nurhaliza
 
Merancang web database_content_server
Merancang web database_content_serverMerancang web database_content_server
Merancang web database_content_server
Gina Nashir
 
Sim nur putriana prof. dr. ir. hapzi ali, mm, cma sistem manajemen database
Sim nur putriana prof. dr. ir. hapzi ali, mm, cma sistem manajemen databaseSim nur putriana prof. dr. ir. hapzi ali, mm, cma sistem manajemen database
Sim nur putriana prof. dr. ir. hapzi ali, mm, cma sistem manajemen database
Nur Putriana
 
SIM, Renny Kurniyawati, Prof. Dr. Ir Hapzi Ali, MM, CMA, Sistem Manajemen Dat...
SIM, Renny Kurniyawati, Prof. Dr. Ir Hapzi Ali, MM, CMA, Sistem Manajemen Dat...SIM, Renny Kurniyawati, Prof. Dr. Ir Hapzi Ali, MM, CMA, Sistem Manajemen Dat...
SIM, Renny Kurniyawati, Prof. Dr. Ir Hapzi Ali, MM, CMA, Sistem Manajemen Dat...
Rennykoer
 
SIM, Fadila Rahma, Prof. Dr. Hapzi Ali, MM, CMA, Sistem Manajemen Database, U...
SIM, Fadila Rahma, Prof. Dr. Hapzi Ali, MM, CMA, Sistem Manajemen Database, U...SIM, Fadila Rahma, Prof. Dr. Hapzi Ali, MM, CMA, Sistem Manajemen Database, U...
SIM, Fadila Rahma, Prof. Dr. Hapzi Ali, MM, CMA, Sistem Manajemen Database, U...
Universitas Mercu Buana
 
Usm a932 artikel 2 lan
Usm a932 artikel 2 lanUsm a932 artikel 2 lan
Usm a932 artikel 2 lannovi_ici
 
SIM, Fitri Febriani, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu ...
SIM, Fitri Febriani, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu ...SIM, Fitri Febriani, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu ...
SIM, Fitri Febriani, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu ...
Fitri Febriani
 
Implementasi Aplikasi Basis Data Relasional pada Siloam Hospitals Kebon Jeruk
Implementasi Aplikasi Basis Data Relasional pada Siloam Hospitals Kebon JerukImplementasi Aplikasi Basis Data Relasional pada Siloam Hospitals Kebon Jeruk
Implementasi Aplikasi Basis Data Relasional pada Siloam Hospitals Kebon Jeruk
AndreasTanjaya_43218120078
 
System Implementation Konversi2
System Implementation Konversi2System Implementation Konversi2
System Implementation Konversi2ludba
 
7. Sistem Pengolahan Data.pptx
7. Sistem Pengolahan Data.pptx7. Sistem Pengolahan Data.pptx
7. Sistem Pengolahan Data.pptx
RenaHidayatus1
 
Sim, m yusan alrizky, hapzi ali,sistem manajemen database , univerasitas merc...
Sim, m yusan alrizky, hapzi ali,sistem manajemen database , univerasitas merc...Sim, m yusan alrizky, hapzi ali,sistem manajemen database , univerasitas merc...
Sim, m yusan alrizky, hapzi ali,sistem manajemen database , univerasitas merc...
Mochammad Yusan Alrizky
 
Diah priantika quis tm 12 sia
Diah priantika quis tm 12 siaDiah priantika quis tm 12 sia
Diah priantika quis tm 12 sia
diahpriantika
 
Muhammad farhan fadhlillah 43218010171 tm 12
Muhammad farhan fadhlillah 43218010171 tm 12Muhammad farhan fadhlillah 43218010171 tm 12
Muhammad farhan fadhlillah 43218010171 tm 12
FarhanFadhlillah1
 
Client server edu
Client server eduClient server edu
Client server edu
Atika Fauziah
 
Pik pertemuan ke 3 struktur dan fungsi pengolahan data
Pik pertemuan ke 3 struktur dan fungsi pengolahan dataPik pertemuan ke 3 struktur dan fungsi pengolahan data
Pik pertemuan ke 3 struktur dan fungsi pengolahan data
Aghunk Agatha
 
Sistem informasi management_basis_data
Sistem informasi management_basis_dataSistem informasi management_basis_data
Sistem informasi management_basis_data
Ulmi_Kalsum
 
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
YolandaSibuea
 
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
YolandaSibuea
 

Similar to Materi 6 db performance tuning (20)

18021 13-980373375726
18021 13-98037337572618021 13-980373375726
18021 13-980373375726
 
PSI
PSIPSI
PSI
 
Sim siti nurhaliza, Hapzi Ali Sistem Manajemen Database
Sim siti nurhaliza, Hapzi Ali Sistem Manajemen DatabaseSim siti nurhaliza, Hapzi Ali Sistem Manajemen Database
Sim siti nurhaliza, Hapzi Ali Sistem Manajemen Database
 
Merancang web database_content_server
Merancang web database_content_serverMerancang web database_content_server
Merancang web database_content_server
 
Sim nur putriana prof. dr. ir. hapzi ali, mm, cma sistem manajemen database
Sim nur putriana prof. dr. ir. hapzi ali, mm, cma sistem manajemen databaseSim nur putriana prof. dr. ir. hapzi ali, mm, cma sistem manajemen database
Sim nur putriana prof. dr. ir. hapzi ali, mm, cma sistem manajemen database
 
SIM, Renny Kurniyawati, Prof. Dr. Ir Hapzi Ali, MM, CMA, Sistem Manajemen Dat...
SIM, Renny Kurniyawati, Prof. Dr. Ir Hapzi Ali, MM, CMA, Sistem Manajemen Dat...SIM, Renny Kurniyawati, Prof. Dr. Ir Hapzi Ali, MM, CMA, Sistem Manajemen Dat...
SIM, Renny Kurniyawati, Prof. Dr. Ir Hapzi Ali, MM, CMA, Sistem Manajemen Dat...
 
SIM, Fadila Rahma, Prof. Dr. Hapzi Ali, MM, CMA, Sistem Manajemen Database, U...
SIM, Fadila Rahma, Prof. Dr. Hapzi Ali, MM, CMA, Sistem Manajemen Database, U...SIM, Fadila Rahma, Prof. Dr. Hapzi Ali, MM, CMA, Sistem Manajemen Database, U...
SIM, Fadila Rahma, Prof. Dr. Hapzi Ali, MM, CMA, Sistem Manajemen Database, U...
 
Usm a932 artikel 2 lan
Usm a932 artikel 2 lanUsm a932 artikel 2 lan
Usm a932 artikel 2 lan
 
SIM, Fitri Febriani, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu ...
SIM, Fitri Febriani, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu ...SIM, Fitri Febriani, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu ...
SIM, Fitri Febriani, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu ...
 
Implementasi Aplikasi Basis Data Relasional pada Siloam Hospitals Kebon Jeruk
Implementasi Aplikasi Basis Data Relasional pada Siloam Hospitals Kebon JerukImplementasi Aplikasi Basis Data Relasional pada Siloam Hospitals Kebon Jeruk
Implementasi Aplikasi Basis Data Relasional pada Siloam Hospitals Kebon Jeruk
 
System Implementation Konversi2
System Implementation Konversi2System Implementation Konversi2
System Implementation Konversi2
 
7. Sistem Pengolahan Data.pptx
7. Sistem Pengolahan Data.pptx7. Sistem Pengolahan Data.pptx
7. Sistem Pengolahan Data.pptx
 
Sim, m yusan alrizky, hapzi ali,sistem manajemen database , univerasitas merc...
Sim, m yusan alrizky, hapzi ali,sistem manajemen database , univerasitas merc...Sim, m yusan alrizky, hapzi ali,sistem manajemen database , univerasitas merc...
Sim, m yusan alrizky, hapzi ali,sistem manajemen database , univerasitas merc...
 
Diah priantika quis tm 12 sia
Diah priantika quis tm 12 siaDiah priantika quis tm 12 sia
Diah priantika quis tm 12 sia
 
Muhammad farhan fadhlillah 43218010171 tm 12
Muhammad farhan fadhlillah 43218010171 tm 12Muhammad farhan fadhlillah 43218010171 tm 12
Muhammad farhan fadhlillah 43218010171 tm 12
 
Client server edu
Client server eduClient server edu
Client server edu
 
Pik pertemuan ke 3 struktur dan fungsi pengolahan data
Pik pertemuan ke 3 struktur dan fungsi pengolahan dataPik pertemuan ke 3 struktur dan fungsi pengolahan data
Pik pertemuan ke 3 struktur dan fungsi pengolahan data
 
Sistem informasi management_basis_data
Sistem informasi management_basis_dataSistem informasi management_basis_data
Sistem informasi management_basis_data
 
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
 
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
Tugas sim, yolanda sibuea (43218110037), yananto mihadi putra se,. m.si, mana...
 

More from Elma Fiana

Materi 4 db konsep client server
Materi 4  db konsep client serverMateri 4  db konsep client server
Materi 4 db konsep client server
Elma Fiana
 
Materi 3 model data relasional
Materi 3 model data relasionalMateri 3 model data relasional
Materi 3 model data relasional
Elma Fiana
 
Materi 2 arsitektur sbd, db control dan backup db
Materi 2  arsitektur sbd, db control dan backup dbMateri 2  arsitektur sbd, db control dan backup db
Materi 2 arsitektur sbd, db control dan backup db
Elma Fiana
 
Materi 1 pengantar sistem basis data.docx
Materi 1 pengantar sistem basis data.docxMateri 1 pengantar sistem basis data.docx
Materi 1 pengantar sistem basis data.docx
Elma Fiana
 
Tugas 2 individu tentang dbms
Tugas 2 individu tentang dbmsTugas 2 individu tentang dbms
Tugas 2 individu tentang dbms
Elma Fiana
 
Ppt rancangan table dan form pada ms.access
Ppt rancangan table dan form pada ms.accessPpt rancangan table dan form pada ms.access
Ppt rancangan table dan form pada ms.access
Elma Fiana
 
Makalah I Rancangan Database CDM dan PDM
Makalah I Rancangan Database CDM dan PDMMakalah I Rancangan Database CDM dan PDM
Makalah I Rancangan Database CDM dan PDM
Elma Fiana
 
Ppt analisis strategi sifo
Ppt analisis strategi sifoPpt analisis strategi sifo
Ppt analisis strategi sifo
Elma Fiana
 

More from Elma Fiana (8)

Materi 4 db konsep client server
Materi 4  db konsep client serverMateri 4  db konsep client server
Materi 4 db konsep client server
 
Materi 3 model data relasional
Materi 3 model data relasionalMateri 3 model data relasional
Materi 3 model data relasional
 
Materi 2 arsitektur sbd, db control dan backup db
Materi 2  arsitektur sbd, db control dan backup dbMateri 2  arsitektur sbd, db control dan backup db
Materi 2 arsitektur sbd, db control dan backup db
 
Materi 1 pengantar sistem basis data.docx
Materi 1 pengantar sistem basis data.docxMateri 1 pengantar sistem basis data.docx
Materi 1 pengantar sistem basis data.docx
 
Tugas 2 individu tentang dbms
Tugas 2 individu tentang dbmsTugas 2 individu tentang dbms
Tugas 2 individu tentang dbms
 
Ppt rancangan table dan form pada ms.access
Ppt rancangan table dan form pada ms.accessPpt rancangan table dan form pada ms.access
Ppt rancangan table dan form pada ms.access
 
Makalah I Rancangan Database CDM dan PDM
Makalah I Rancangan Database CDM dan PDMMakalah I Rancangan Database CDM dan PDM
Makalah I Rancangan Database CDM dan PDM
 
Ppt analisis strategi sifo
Ppt analisis strategi sifoPpt analisis strategi sifo
Ppt analisis strategi sifo
 

Recently uploaded

INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
lindaagina84
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
d2spdpnd9185
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
bobobodo693
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
muhammadyudiyanto55
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
nawasenamerta
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdfINDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
NurSriWidyastuti1
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
safitriana935
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
Hernowo Subiantoro
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Galang Adi Kuncoro
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
SEMUELSAMBOKARAENG
 
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
AgusRahmat39
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
suprihatin1885
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
gloriosaesy
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
UmyHasna1
 

Recently uploaded (20)

INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptxSEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
SEMINAR PPG DAN PPL ppg prajabatan 2024.pptx
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdfINDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
 
PPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdfPPT Observasi Praktik Kinerja PMM SD pdf
PPT Observasi Praktik Kinerja PMM SD pdf
 
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdfPETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
PETUNJUK TEKNIS PPDB JATIM 2024-sign.pdf
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
 
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
 
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
 
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawasPrensentasi Visi Misi Sekolah dalam rangka observasi pengawas
Prensentasi Visi Misi Sekolah dalam rangka observasi pengawas
 
Laporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdfLaporan Piket Guru untuk bukti dukung PMM.pdf
Laporan Piket Guru untuk bukti dukung PMM.pdf
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
 

Materi 6 db performance tuning

  • 1. TUGAS SISTEM BASIS DATA Database Performance Tuning || Oleh || 1. Elma Fiana Nim : 1513000045 2. Friska Nuraini Nim : 1513000048 3. Rut Kristina M. Nim : 1513000064 4. Siti Aminah Nim : 1513000068 5. Melyana Tumorank Nim : 1513000425 SISTEM INFORMASI A-SIANG SEM IV FAKULTAS TEKNIK DAN ILMU KOMPUTER T.A 2016/2017
  • 2. 2 Database Performance Tuning A. Pengenalan Tentang Performance Tuning Performance tuning adalah suatu usaha untuk memperbaiki kinerja perangkat keras dan perangkat lunak komputer. Perangkat keras komputer adalah peralatan di sistem komputer yang secara fisik terlihat dan dapat dijamah, peralatan tersebut meliputi peralatan input (masukan), peralatan proses dan peralatan output (keluaran) [1]. Perangkat lunak komputer adalah program yang berisi perintah– perintah untuk melakukan pengolahan data [1]. Tuning bisa berarti mengganti atau menambah, contohnya tuning perangkat keras bisa diartikan mengganti dengan perangkat keras yang lebih baik atau menambah perangkat keras yang diperlukan untuk menambah suatu kinerja yang lebih baik. Dalam sebuah manajemen basis data, tuning sebaiknya tidak dilakukan hanya pada basis datanya saja, tetapi juga pada sistem operasi yang dipakai, proses / operasi bisnis, aplikasi dan perangkat keras. Kinerja sistem (Performance) dalam banyak hal berarti suatu kecepatan eksekusi, atau sesuatu yang sudah benar bila dilihat secara menyeluruh. Jadi, performance tuning merupakan usaha untuk memperbaiki atau menyetel suatu sistem menjadi lebih baik. Sistem adalah jaringan dari pada elemen–elemen yang saling berhuibungan, membentuk satu kesatuan untuk melaksanakan suatu tujuan pokok dari sistem tersebut [1]. 1. Memulai Tuning Tuning bisa dilakukan dengan langkah–langkah yang bervariasi, karena dalam pelaksanaannya kadang kala berulang–ulang dilakukan suatu tuning tertentu tidak harus berurutan. Namun, memulai tuning bisa dilakukan dengan tahapan sebagai berikut: 1) Tune operasi bisnis Tune operasi bisnis bisa saja ditujukan untuk meningkatkan penghasilan atau laba suatu perusahaan, secara langsung maupun tidak langsung. Efek dari tune operasi bisnis adalah dari segi pelayanan yang lebih baik.
  • 3. 3 Salah satu contoh dari tune operasi bisnis adalah operasional transaksi di teller pada sebuah bank, dimana bank menyediakan fasilitas ATM (Automated Teller Machine) yang merupakan suatu perubahan dalam operasi bisnis bank. 2) Tune Perangkat Keras Tune perangkat keras merupakan langkah logis yang menyertai tune operasi bisnis, karena bila suatu tune opersi bisnis sudah ditentukan maka diperlukan suatu perangkat keras yang mampu untuk memenuhi kebutuhan tersebut. Walaupun perangkat keras sudah ada, tetap masih diperlukan tune perangkat keras. 3) Tune Sistem Operasi Tune sistem operasi merupakan langkah yang logis sesudah melakukan tune perangkat keras, dimana sistem operasi adalah sebuah perantara antara hardware dengan software lainnya. Pada tune sistem operasi itu tergantung sistem operasi yang dipakai, setiap sistem operasi yang dipakai memiliki langkah–langkah tuning yang berbeda antara satu dengan yang lainnya. Misalnya melakukan tune pada Windows berbeda bila melakukan tune pada sistem operasi yang menggunakan Unix. 4) Tune aplikasi Tune aplikasi berkaitan dengan tune operasi bisnis, karena sebuah aplikasi merupakan implementasi operasi bisnis yang melibatkan mesin. Suatu hal yang umum dari aplikasi komputer adalah pemakaian code cache, data cache, dan stack cache. Code cache adalah memori fisik untuk menyimpan kode yang dijalankan [3]. Data cache adalah memori fisik untuk menyimpan data (input atau output) yang sedang diolah [3]. Dan stack cache adalah tempat menyimpan isi stack [3]. Stack adalah suatu sesi yang di dalamnya berisi variabel, atau array (variabel berindek yang digunakan untuk menyimpan beberapa nilai dalam satu nama array) [1]. Istilah–istilah untuk ketiga cache tersebut mungkin berbeda dari suatu development tool ke tool lain dan dari suatu aplikasi ke aplikasi lain, namun esensinya sama. 5) Tune SMBD (Sistem Manajemen Basis Data) Tune SMBD ini merupakan pembahasan inti dari materi penelitian ini, yang lebih lanjut dijelaskan pada bagian–bagian selanjutnya.
  • 4. 4 2. Prinsip dan Kriteria Tuning Prinsip untuk tuning adalah mengukur keadaan sebelum dan sesudah tuning dilakukan dan untuk melaksanakan tuning tersebut maka diperlukannya suatu alat diagnostik untuk mendiagnosa keadaan. Kriteria tuning yang dipakai harus dijadikan sebagai acuan sebuah proses – proses selanjutnya, dimana bisa mewakili kriteria–kriteria yang dipakai, misalnya kriteria tuning untuk tune data cache menggunakan parameter hit-ratio minimal 90%. Hit-ratio diperoleh dengan SQL statement. 3. Prasyarat Tuning Prasyarat tuning yaitu mementukan parameter instance yang akan ditune . Instance merupakan kumpulan dari oracle process (proses–proses di oracle) dan alokasi memori yang ada di oracle, yaitu SGA (System Global Area) yang digunakan untuk mengakses informasi–informasi yang tersimpan pada basis data [3]. Hal ini dapat membantu instance memberikan informasi akurat dari suatu transaksi atau query. Prasyarat tuning juga harus mencatat konfigurasi perangkat keras dan perangkat lunak yang akan dilakukan tuning. Hal ini membantu pada saat akan melakukan tuning di perangkat keras dan perangkat lunak yang berbeda. Dan persiapan keamanan secara baik juga diperlukan dalam prasyarat tuning. 4. Type dari Performance Tuning a. System Tuning Sytem tuning terjadi pada tingkat tertinggi dan memiliki dampak terbesar pada kesehatan secara keseluruhan aplikasi database, karena setiap aplikasi tergantung pada sistem. kita akan mendefinisikan sistem terdiri dari DBMS itu sendiri dan semua komponen terkait yang dipercayakan. DBMS dapat dan harus bisa disetel untuk menjamin kinerja yang optimal. Cara di mana perangkat lunak DBMS terinstal, memori, disk, CPU, sumber daya lainnya, dan opsi konfigurasi dapat mempengaruhi kinerja aplikasi database. dan Intinya DBMS harus bisa di seting agar bisa menjamin performa sistem tetap optimal. b. Database Tuning Performansi dapat dipengaruhi oleh desain fisik database, termasuk normalisasi, penyimpanan disk, jumlah tabel, desain indeks, dan penggunaan DDL dan parameter yang terkait. Lokasi fisik file database pada sistem disk akan berdampak pada kinerja aplikasi mengakses data. Semakin banyak data yang tersimpan pada perangkat disk yang
  • 5. 5 sama, kemungkinan kinerja degradasi meningkat. dan Intinya lokasi fisik dari file database pada sistem disk dapat mempengaruhi performa aplikasi dalam mengakses data ke DataBase . c. Application Tuning Aplikasi itu sendiri harus dirancang secara tepat dan dipantau untuk efisiensi. Kebanyakan ahli setuju bahwa sebanyak 75% dari masalah kinerja disebabkan oleh syntax aplikasi yang tidak benar. SQL adalah penyebab utama; coding pernyataan SQL yang efisien dapat menjadi rumit. Pengembang perlu diajarkan bagaimana merumuskan, memantau, dan pernyataan SQL yang benar.dan Intinya tidak semua masalah aplikasi disebabkan oleh penulisan SQL yang tidak sesuai. 5. Teknik Tuning dan Optimizing Ada Beberapa Teknik Tuniang dan Optimizing, antaralain sebagai berikut : 1. Partitioning Adalah dengan Mempartisi database dapat mempercepat pencapaian proses paralel. Proses paralel merupakan proses untuk menggunakan perintah jamak untuk mengakses database, Proses paralel digunakan untuk mengurangi elapsed time query database 2. Raw Partition VS File System Raw partition lebih sering digunakan daripada menyimpan data di cache file system, Karena cache DBMS akan langsung menuliskan data tanpa intervensi dari file system. Tidak dianjurkan untuk menambahkan cache DBMS dengan cache yang lain 3. Indexing Index digunakan untuk Menemukan baris untuk nilai tertentu pada sebuah atau banyak kolom, Mempermudah operasi JOIN, Menghubungkan data antara tabel, Agregasi data, Mengurutkan data sesuai perintah query. Dengan index mempermudah proses pengolahan data 4. Denormalisasi Ialah Kebalikan dari normalisasi, Salah satu teknik untuk meningkatkan performa dengan menambahkan data yang redundant atau dengan mengelompokkan data. Denormalisasi Dapat diterapkan dengan: Prejoined table, Report table, Mirror table, Split table, Combined tables, Speed tables, Storing redundant data, Storing repeating groups, Storing derivable data, dan Clustering. Tabel yang sudah dikelompokkan akan menyimpan data secara fisik di dalam sebuah disk sesuai dengan kolomnya masing- masing
  • 6. 6 5. Interleaving Data Jika data dari satu tabel dengan tabel yang lain sering digabungkan, maka dapat dipertimbangkan untuk mengumpulkan data tersebut dalam satu cluster. Interleaving data merupakan pengkhususan dari cluster 6. Free Space Free Space terkadang disebut dengan Fill Factor yang merupakan ruang kosong yang disediakan untuk menambah data baru dengan parameter yang biasa digunakan adalah PCTFREE dan FREEPAGE. Tugas DBA adalah memastikan jumlah ruang kosong yang tepat untuk setiap tabel. Keuntungan Free Space  Insert lebih cepat  Ketika sebuah baris baru di-insert-kan, langsung dapat di-cluster-kan  Concurrency lebih mudah Kekurangan  Disk storage yang dibutuhkan lebih besar  Waktu scan lebih lama  Jumlah baris yang lebih sedikit, akan meminta I/O yang lebih banyak  Mengurangi efisiensi data caching karena sedikitnya baris yang discan per I/O. 7. Compression Compression adalah untuk meringkas database yang dapat mengurangi penggunaan ruang penyimpanan data. Namun Tidak semua table perlu dicompress. Keuntungan : menghemat ruang penyimpanan dan mengurangi waktu pemrosesan data Kekurangan : Biaya tambahan untuk melakukan compress dan decompress data 8. File Placement and Allocation Yang harus diperhatikan ketika mengalokasikan data :  Jika memungkinkan memisahkan data dengan index  Memisahkan file untuk tabel yang sering diakses bersama  Jika data dari tabel disimpan di dalam halaman yang berbeda, diutamakan untuk memisahkan disk penyimpan untuk mempermudah dan mengoptimalkan operasi yang paralel 9. Page size
  • 7. 7 Beberapa DBMS membatasi jumlah page yang digunakan untuk menyimpan data, Karena itu DBA harus dapat menghitung jumlah halaman yang dibutuhkan berdasarkan jumlah baris data, jumlah baris per halaman, dan jumlah ruang kosong yang dibutuhkan. 10. Reorganization Reorganization adalah memaksimalkan availabilitty dan reliability data. Me-reorganisasi database berarti merestrukturisasi objek database, memaksimalkan availability dan kecepatan, serta mengefisiensi fungsi database. 6. Masalah yang menyebabkan Performa Databse menurun Penyebab Performa Database menurun diantaranya :  Scan Tabel  Index yang tidak sesuai  Pilihan Index yang tidak sesuai  Tidak menggunakan Index yang tersedia  Statistik database yang usang  Tabel tergabung dalam urutan yang tidak optimal Penyebab lain Performa Database menurun diantaranya :  Memory Allocation (Buffer/Cache for data, SQL, Authorization)  Logging Options (Log Cache, Log Size, Oracle Rollback Segments)  I/O Efficiency (Separation of tables and indexes on disk, database size, fragmented and extended files)  Overall application and database workload on the server  Database schema definitions B. Database Tuning Tuning database adalah proses fine-tuning database kinerja server. Sebagai pendatang baru SQL, jarang sekali mungkin dari pemula akan terkena tuning database kecuali seorang DBA DBA baru atau pindah ke lingkungan database relasional. Pada saat akan mengelola database atau menggunakan SQL pada aplikasi atau program, Seorang pemula akan mendapatkan keuntungan dengan mengetahui sesuatu tentang proses tuning-database. Kunci keberhasilan setiap database bagi semua pihak untuk bekerja sama. Beberapa tips umum untuk tuning database ikuti.  Minimalkan ukuran keseluruhan yang dibutuhkan untuk database. Ini bagus untuk memungkinkan ruang untuk pertumbuhan ketika mendesain
  • 8. 8 database, tapi jangan pergi ke laut. Jangan mengikat sumber daya yang Anda mungkin perlu untuk mengakomodasi pertumbuhan database.  Percobaan dengan variabel waktu-slice proses pengguna. Variabel ini mengatur jumlah waktu database server scheduler mengalokasikan untuk pengguna setiap proses.  Optimalkan jaringan paket ukuran yang digunakan oleh aplikasi. Semakin besar jumlah data yang dikirim melalui jaringan, semakin besar ukurannya jaringan paket seharusnya. Tanyakan database dan dokumentasi jaringan untuk rincian lebih lanjut.  Store transaksi log pada hard disk yang terpisah. Untuk setiap transaksi yang terjadi, server harus menulis perubahan transaksi log. Jika Anda menyimpan log file-file pada disk yang sama seperti Anda menyimpan data, Anda dapat menciptakan hambatan kinerja.  Stripe sangat besar tabel di beberapa disk. Jika pengguna mengakses bersamaan sebuah meja besar yang banyak tersebar di disk, ada kurang banyak kesempatan harus menunggu sumber daya sistem.  Toko semacam database daerah, sistem kawasan katalog, dan daerah kembalikan pada hard disk yang terpisah. Ini adalah semua wilayah di database yang paling sering akses pengguna. Dengan menyebarkan daerah- daerah tersebut selama beberapa disk drive, Anda memaksimalkan penggunaan sumber daya sistem  Tambah CPU. Fungsi ini administrator sistem dapat secara drastis meningkatkan kinerja database. Menambahkan CPU dapat mempercepat pemrosesan data karena alasan yang jelas. Jika Anda memiliki beberapa CPU pada mesin, maka Anda mungkin dapat menerapkan strategi pemrosesan paralel,. Database Anda Lihat dokumentasi lebih untuk informasi paralel pada pemrosesan jika tersedia dengan implementasi Anda.  Tambah memori. Secara umum, lebih banyak lebih baik.  Toko tabel dan indeks pada hard disk yang terpisah. Anda harus menyimpan indeks dan tabel terkait pada disk drive yang pernah terpisah bila memungkinkan. Susunan ini memungkinkan meja untuk dibaca pada saat yang sama indeks ini direferensikan pada disk lain. Kemampuan untuk menyimpan objek pada beberapa disk tergantung pada berapa banyak disk yang terhubung ke controller.
  • 9. 9 Gambar di atas memperlihatkan contoh sederhana tentang bagaimana memisahkan wilayah utama dari database . C. Study Kasus Performance Tuning Pada SQL Ada banyak cara yang dapat dan harus dilakukan agar proses server database dapat berlangsung cepat. Dalam pengembangan aplikasi database, hal ini biasa disebut dengan istilah performance tuning, karena berkenaan dengan kinerja/performance database. [7] Sebagian besar dari SQL yang digunakan di dalam pengembangan aplikasi basis data adalah perintah SELECT yang ditujukan untuk menarik/mengambil sejumlah baris data dari suatu tabel. Misalkan, SELECT * FROM Tabel1 berarti "tarik semua data - ditandai dengan * - dari tabel Tabel1". Contoh lain: SELECT DATA1, DATA2 FROM Tabel2 berarti "tarik DATA1 dan DATA2 dari tabel Tabel2". Mengingat SELECT merupakan perintah SQL yang paling banyak digunakan, maka artikel ini memfokuskan pada optimalisasi perintah SELECT untuk mendapatkan kinerja yang paling optimal yang antara lain ditandai dengan kecepatan akses/proses. SELECT memerlukan waktu pemrosesan yang panjang dan sangat tergantung pada klausul SELECT yang digunakan. Untuk mempercepatnya, setiap programmer harus memperhatikan teknik-teknik optimalisasi SQL. 1. Pemilihan Metode Akses Dalam mengambil/menarik data dari suatu table, SQL melakukan salah satu dari alternatif berikut: a. Pengaksesan secara bertahap (sequential access). Teknik ini juga sering direferensikan sebagai full table scanning, karena SQL akan mengambil data yang diinginkan dengan lebih dulu merunut/melacak data satu demi satu baris, dimulai dari record/baris pertama. Apabila proses ini melibatkan tabel dengan jumlah record yang banyak, maka metode ini tidak akan efisien, karena membutuhkan waktu yang lama.
  • 10. 10 Contoh Kasus : Jika Sebuah Database hotel memiliki table tamu, pengaksesan secara bertahap untuk mengakses tabel tamu dilakukan dengan seperti gambar dibawah ini : SELECT * FROM tamu b. Pengaksesan secara langsung (direct access). Dalam teknik ini, SQL hanya membaca baris/data yang diminta. Metode ini biasa juga disebut access by index, karena untuk dapat melakukan ini diperlukan indeks pada kolom yang digunakan untuk kriteria pencarian. Dengan pembacaan langsung pada baris yang dibutuhkan, maka metode ini membutuhkan waktu yang lebih cepat dari sequential access. Contoh Kasus: Jika Sebuah Database hotel sama seperti di atas memiliki table tamu, namun dalam pengaksesan secara direct atau langsung ini ialah dengan menunjukan langsung dimana kolom yang akan di index. untuk mengakses tabel tamu dengan direct acces dilakukan dengan seperti gambar dibawah ini : SELECT * FROM tamu WHERE Nama_Tamu = 'Rooney'
  • 11. 11 2. Pembuatan Index Pencarian data menggunakan SELECT biasanya dengan menggunakan kriteria pencarian menggunakan klausa WHERE, atau HAVING. Contoh berikut menunjukkan adanya spesifikasi pencarian dengan batasan. Contoh Study Kasus : Jika sebuah database sama dengan yang di atas, database hotel yang mempunyai tabel tamu. kasus ini ingin mencari kode tamu yang dimana kode tamunya di atas sama dengan 1000004, maka pencarian dengan batasan ini dilakukan seperti query berikut : SELECT * FROM tamu WHERE kode_tamu > 1000004 Kolom yang akan digunakan dalam spesifikasi pencarian data perlu dibuat index agar dapat menggunakan metode direct access. Dalam contoh di atas, maka proses SELECT akan lebih cepat memberikan hasil apabila dibuatkan index pada kolom kode_tamu dari tabel tamu.
  • 12. 12 Contoh lain, misalkan suatu tabel tamu mempunyai kolom (Kode_Tamu, Nama_Tamu, No_Identitas, Alamat). Apabila dalam proses SELECT nantinya akan lebih banyak menggunakan kolom Alamat sebagai batasan/kriteria pencarian, maka disarankan untuk membuat index dari kolom kode_tamu. Cara pembuatan index dapat menggunakan perintah sebagai berikut: Index di atas dengan query berikut : CREATE {UNIQUE} INDEX nama_indeks ON identifikator_tabel ((nama_kolom {ASC|DESC}), ...); CREATE INDEX namatabel_namakolom_NDX ON nama_tabel(nama_kolom); Index dapat dibuat untuk satu kolom atau gabungan dari beberapa kolom. Berikut pedoman untuk pemilihan kolom yang perlu dibuatkan index:  Index unik pada kolom kunci utama (primary key)  Index pada kolom kunci asing (foreign key)  Index pada kolom yang digunakan sebagai kriteria pemilihan  Index pada kolom yang digunakan untuk pengurutan (order by)  Index pada kolom yang digunakan untuk pengelompokan (group by) 3. Perbaikan Pernyataan SELECT 3.1. Hindari Penggunaan SELECT *
  • 13. 13 Fokuslah hanya pada kolom yang memang benar-benar dibutuhkan. Misalkan diasumsikan bahwa tabel TAMU memiliki kolom (Kode_Tamu, Nama_Tamu, No_Identitas, Alamat, Kota, No_Telp), maka jika diinginkan informasi panggilan dari A ke B dan durasinya maka dapat dilakukan dengan perintah sebagai berikut: Select * From Tamu Perintah SQL di atas akan lebih efisien jika dirubah menjadi: select Kode_Tamu, Nama_Tamu,No_Identitas, Alamat, Kota, No_Telp From Tamu Berikut gambar proses hasil eksekusinya : 3.2. Gunakan Kriteria Hindari pengaksesan seluruh data, tetapi fokuslah pada kriteria data yang diperlukan sesuai kebutuhan. Contoh apabila dibutuhkan informasi daftar alamat tamu yang diketahui cuma “Jl. Mang”, maka: select Nama_Tamu,No_Identitas, Alamat, Kota, No_Telp From Tamu
  • 14. 14 Perintah SQL di atas bisa menemukan informasi tersebut namun akan lebih efisien, jika dirubah menjadi: select Nama_Tamu, Alamat, Kota From Tamu where substring(Alamat,1,7) = 'Jl. Man'; Maka tampilan yang dihasilkan : 3.3.Hindari OR, gunakan UNION Operator OR membutuhkan waktu yang banyak. Bila memungkinkan, gunakan operator UNION yang setara. Contoh Study Kasus jika kita ingin mencari nama dengan awalan Ron dan Adr, maka berikut querynya : select kode_tamu, Nama_Tamu, Alamat, Kota From tamu where substring(Nama_Tamu,1,3) = 'Ron' or substring(Nama_Tamu,1,3) = 'Adr' Perintah SQL di atas akan lebih efisien jika dirubah menjadi: select kode_tamu, Nama_Tamu, Alamat, Kota From tamu where substring(Nama_Tamu,1,3) = 'Ron' UNION select kode_tamu, Nama_Tamu, Alamat, Kota From tamu where substring(Nama_Tamu,1,3) = 'Adr'
  • 15. 15 SELECT kode_tamu, Nama_Tamu, Alamat, Kota FROM tamu WHERE (Kode_Tamu <= 1000003 ); Maka yang dihasilkan seperti gambar dibawah ini : 3.4.Hindari NOT Hindari operator NOT dan ganti dengan operator perbandingan bila memungkinkan. Contoh study kasus mencari kode_tamu dengan tidak lebih dari 1000003, maka yang querynya seperti berikut : SELECT kode_tamu, Nama_Tamu, Alamat, Kota FROM tamu WHERE NOT (Kode_Tamu > 1000003 ); Perintah SQL di atas akan lebih efisien jika dirubah menjadi: SELECT kode_tamu, Nama_Tamu, Alamat, Kota FROM tamu WHERE (Kode_Tamu <= 1000003 ); Maka yang dihasilkan seperti gambar dibawah ini :
  • 16. 16 3.5.Hindari Ekspresi Matematika di Sisi Kiri Operand Bila kriteria pencarian memerlukan ekspresi matematika, maka posisikan ekspresi tersebut pada sebelah kanan operator jika memungkinkan. Contoh Study kasus mencari harga di table kamar dengan harga lebih 200000 di atas 1000000, berikut querynya : SELECT No_Kamar, Nama_Kamar, Kode_Tipe_Kamar, Kapasitas, Harga, Status_Kamar FROM Kamar WHERE(Harga + 200000 > 1000000); Perintah SQL di atas akan lebih efisien jika dirubah menjadi: SELECT No_Kamar, Nama_Kamar, Kode_Tipe_Kamar, Kapasitas, Harga, Status_Kamar FROM Kamar WHERE (Harga > 800000 ) Hasilnya Seperti gambar berikut :
  • 17. 17 3.6. Hindari Operator IN Penggunaan operator IN dalam kriteria pencarian merupakan pernyataan SELECT yang mahal, sehingga perlu dihindari. Berikut cara menghindarinya untuk dua bentuk penggunaan IN. Contoh Study Kasus mencari nomor kamar 202, 203 yang ada di tabel kamar. Penggunaan operator IN bentuk pertama: SELECT No_kamar , Nama_Kamar FROM Kamar WHERE Substring(No_kamar, 1, 3) IN ('202', '203'); Perintah SQL di atas akan lebih efisien jika dirubah menjadi: SELECT No_kamar , Nama_Kamar FROM Kamar WHERE Substring(No_kamar, 1, 3) = '202' OR Substring(No_kamar, 1, 3) = '201';
  • 18. 18 Perintah SQL di atas akan lebih efisien jika dirubah menjadi: Hasilnya berikut : Untuk Study kasus yang selanjutnya, untuk mengindari penggunaan operator OR. Penggunaan operator IN bentuk kedua, dalam study kasus ini adalah mencari nomor kamar sama yang ada di dalam tabel check_in : SELECT No_kamar , Nama_Kamar FROM Kamar WHERE Substring(No_kamar, 1, 3) IN (SELECT No_Kamar FROM Check_In) ; SELECT Kamar.No_kamar , Kamar.Nama_Kamar, Check_in.No_Kamar FROM Kamar, Check_In WHERE Substring(Kamar.No_kamar, 1, 3) = Check_In.No_Kamar ; Berikut hasil implementasinya :
  • 19. 19 SELECT A.ANUMBER, A.BNUMBER, A.DURASI FROM T_CA LLS A SELECT A.ANUMBER, A.BNUMBER, A.DURASI 3.7.Hindari Operator EXIST Sama halnya dengan EXIST, bila memungkinkan hindari penggunaan operator ini. Contoh study kasus ialah mencari nomor kamar yang sama di tabel kamar dan checkin, querynya seperti berikut : SELECT Kamar.No_kamar , Kamar.Nama_Kamar, Check_in.No_Kamar FROM Kamar, Check_In WHERE EXISTS (SELECT Check_in.No_Kamar no_kamar WHERE Check_in.No_Kamar = Kamar.No_kamar) Perintah SQL di atas akan lebih efisien jika dirubah menjadi: SELECT Kamar.No_kamar , Kamar.Nama_Kamar, Check_in.No_Kamar FROM Kamar, Check_In WHERE Substring(Kamar.No_kamar, 1, 3) = Check_In.No_Kamar ; Hasilnya Seperti berikut :
  • 20. 20 3.8. Hindari Operator LIKE Penggunaan operator LIKE akan menyebabkan full table scanning. Oleh karena itu, perlu dirubah dengan ekspresi yang sama bila memungkinkan. Contoh Study kasus mencari nomor identitas yang hanya diketahui depannya dengan Like %, namun hal itu kurang efesien, lebih efesien jika querynya ditentukan pencarian awalnya 555501 dan samapai 555503, jadi tidak full table scanning, SELECT Kode_Tamu, Nama_Tamu,No_Identitas, Alamat, Kota, No_Telp FROM Tamu WHERE No_Identitas LIKE '55550%'; Perintah SQL di atas akan lebih efisien jika dirubah menjadi: SELECT Kode_Tamu, Nama_Tamu,No_Identitas, Alamat, Kota, No_Telp FROM Tamu WHERE No_Identitas >= '555501' AND No_Identitas < '555503';
  • 21. 21 3.9.Urutan Nama Kolom Penulisan nama kolom disarankan menggunakan urutan sebagaimana kolom tersebut didefinisikan di dalam tabel. Study Kasus tabel berikut mempunyai kolom dengan urutan sebagaimana tertulis: Kamar (No_Kamar, Nama_Kamar, Kode_Tipe_Kamar, Kapasitas, Harga, Status_Kamar) di mana terdapat composite index untuk kolom No_Kamar dan Kode_Tipe_Kamar berikut querynya : SELECT Kapasitas, Nama_Kamar, Status_Kamar, Harga FROM Kamar Perintah SQL di atas akan lebih efisien jika dirubah menjadi: SELECT Nama_Kamar, Kapasitas, Harga, Status_Kamar FROM Kamar Hasilnya, tabel berurutan :
  • 22. 22 Pada penggunaan index dari beberapa kolom (composite index) sebutkan nama kolomnya dalam urutan yang benar sesuai dengan urutan kolom tersebut di dalam tabelnya. SELECT Nama_Kamar, Kapasitas, Harga, Status_Kamar FROM Kamar WHERE Kode_Tipe_kamar > 2010203 AND No_Kamar = 205; Perintah SQL di atas akan lebih efisien jika dirubah menjadi: SELECT Nama_Kamar, Kapasitas, Harga, Status_Kamar FROM Kamar WHERE No_Kamar = 205 AND Kode_Tipe_kamar > 2010203; Hasilnya :
  • 23. 23 3.10. Gunakan Konsensus Penulisan SQL SQL merupakan bahasa pemrograman tingkat tinggi generasi keempat. Secara internal, Oracle akan mengolah lebih dulu setiap pernyataan SQL untuk mendapatkan hasil yang diinginkan. Jika Oracle menemukan suatu pernyataan SQL yang dimasukkan pertama kali, maka Oracle akan mengolah pernyataan tersebut menjadi pernyataan perintah low level yang dimengerti oleh server database untuk mendapatkan hasilnya. Perintah low level ini akan didaftarkan oleh Oracle pada suatu area memory khusus yang disebut LIBRARY CACHE untuk keperluan lebih lanjut. Jika suatu saat pernyataan SQL yang sama muncul lagi, maka Oracle tidak akan merubah SQL menjadi low level, namun menggunakan perintah low level yang sudah ada terdaftar pada LIBRARY CACHE. Dengan demikian, mengurangi proses translasi dari bahasa tingkat tinggi ke bahasa low level.
  • 24. 24 REFERENSI Edmundus, A.Haryadi. 2005. Perkenalan Sistem Basis Data. Yogyakarta: PT. Gramedia. http://www.tutorialdba.com/tuning-database2 http://content.yudu.com/Library/A1qiqr/DatabasePerformanceT/resources/index.html http://imam_muiz.staff.gunadarma.ac.id/Downloads/files/6535/BASIS+DATA.pdf