Mengapa Optimasi?
•Trend: query semakin rumit, melibatkan banyak join
•Proses realtime à hasil secepatnya harus diperoleh
•Era web à waktu response harus cepat
•SQL engine terkadang tidak
optimal.
Optimizer
•Program di dalam
RDMBS yang mengoptimasi
query secara otomatis.
•Memilih strategi yang paling efisien.
Contoh
•Cari mahasiswa yg ikut organisasi ber id 99
di tabel mahasiswa
Select m.nim,o.nama_org
from mahasiswa m, organisasi o
where
m.kode_org =o.id and
o.id = 99
asumsikan jumlah record mahasiswa 10.000, jumlah record organisasi 100 dan mahasiswa organisasi 99 adalah 50.
Langkah-Langkah tanpa Optimasi:
1.Gabung Mahasiswa dan Organisasi
(m.nim, o.nama_org), baca 100 rec organisasi dan untuk setiap rec organisasi baca
10.000 record mahasiswa.
2.Filter hasil langkah 1, hanya ambil o.id=99 saja. Baca 10.000 hasil gabungan langkah 1, ambil 50.
3.Tampilkan 50
data tersebut
Total record yang diproses
10.000 x 100 + 10000 = 100.100
Langkah-Langkah dengan Optimasi
1.Dari 10.000 record mahasiswa, ambil hanya 50
record yang o.id = 99
2.Gabung Mahasiswa dan Organisasi (m.nim,o.nama_org). Membaca 100 record organisasi untuk mencari dan mengambil nama_org sesuai o.id=99.
3.Tampilkan
Total record yg diproses: 10.000 + 100 =10.100