Kamis, 16 Mei 2013

Optimasi Query

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




Tidak ada komentar:

Posting Komentar