Tulisan
 
  Aktual dan Umum (10)
  Animasi Flash (1)
  Artikel (19)
  Browsing (5)
  Cerita dan Kisah (5)
  Cerita Lucu (3)
  Curhat (9)
  Data dan Internet Tutorial (2)
  HTML Tutorial (3)
  Islam dan Seputarnya (8)
  Java Programming (1)
  Java Script dan CSS (1)
  Linux dan Seputarnya (5)
  Networking dan Hardware (6)
  PHP Programming (14)
  Sudut Pandang (20)
  Teknologi Informasi (23)
  Tentang Database (2)
  Web Desain and Development (5)
  Windows dan Seputarnya (6)
 
Ngobrol Bareng Adi Sumaryadi langsung aja klik salah satu Messanger kesukaan anda:
Yahoo Facebook
Facebook Adi Sumaryadi

depanlastcomment
asyima puteri asyima puteri dalam Cintaku Kandas Juga Ditengah Jalan
Del Prio Del Prio dalam Tips Optimasi dan Mengontrol MySQL
ligan ligan dalam Pilihan Hosting Control Panel Gratis dan Opensource
sri sri dalam Mengedit Film Menggunakan Movie Maker
zacky zacky dalam Orang Jawa Cenderung Lebih Pede Ketimbang Orang Sunda
Judul
Belajar Awal Sebuah Query

Oleh : Adi Sumaryadi

Sebuah query adalah sebuah ekspresi bahasa yang menggambarkan data yang akan didapatkan kembali dari sebuah database. Dalam hubungannya dengan optimisasi query, seringkali diasumsikan bahwa query-query tersebut dinyatakan dalam sebuah dasar-dasar isi dan sekumpulan cara orientasi, yang memberikan optimizer pilihan-pilihan diantara alternatif prosedur-prosedur evaluasi.

Query dapat digunakan pada beberapa keadaan. Kebanyakan aplikasi nyatanya adalah permintaan-permintaan secara langsung dari user yang memerlukan informasi tentang bentuk maupun isi dari database. Apabila permintaan user terbatas pada sekumpulan query-query standar, maka query-query tersebut dapat dioptimisasi secara manual oleh pemrograman prosedur-prosedur pencarian gabungan dan membatasi input dari user pada sebuah ukuran menu. Tetapi bagaimanapun juga, sebuah sistem optimisasi query otomatis menjadi penting apabila query-query khusus ditanyakan dengan menggunakan bahasa query yang digunakan secara umum seperti SQL.

Aplikasi yang kedua dari query terjadi pada transaksi-transaksi yang mengubah data yang disimpan berdasarkan nilainya saat itu. Pada akhirnya, query seperti ekspresi-ekspresi dapat digunakan secara internal dalam sebuah DBMS, sebagai contoh adalah untuk mengecek kebenaran akses dan menyamakan kebenaran akses-akses yang terjadi.

Membicarakan tentang query, sangat erat hubungannya dengan cara penulisan query tersebut ke dalam sebuah bentuk bahasa yang mudah dimengerti. Pada umumnya, bahasa query yang digunakan untuk mengekspresikan sebuah pernyataan dari query adalah SQL (Structure Query Language).

SQL adalah sebuah bahasa database yang  luas yang memiliki statement-statement (pernyataan) untuk definisi data, query dan update data (memperbaharui data). SQL mempunyai satu statement dasar  untuk mendapatkan kembali informasi dari sebuah database. Statement dasar dari SQL adalah SELECT.

Bentuk dasar dari statement SELECT  biasa disebut dengan blok select from where yang terbentuk dari tiga macam klausa yaitu SELECT, FROM dan WHERE yang mempunyai bentuk sebagai berikut :

SELECT     <daftar Attribute>

FROM       <daftar Tabel>

WHERE      <kondisi>

Dimana  <daftar attribute> adalah  sebuah daftar dari nama-nama attribute yang nilai-nilainya didapatkan oleh query. Sedangkan <daftar tabel> adalah sebuah daftar dari nama-nama relasi yang diperlukan oleh proses sebuah query. <kondisi> adalah  sebuah kondisi ekspresi boolean yang mengidentifikasikan tuple-tuple yang akan dikembalikan oleh query.

 

Hubungan Database Dengan Pemrosesan Query

Database adalah kumpulan dari data-data yang berhubungan satu sama lainnya yang digunakan untuk pencarian suatu data tertentu pada saat SQL query dijalankan. Sebuah database dirancang, dibuat dan ditempati oleh data dengan tujuan tertentu. Di dalam sistem database relasional, tabel-tabel dari database saling berhubungan satu sama lainnya. Dan sebuah tabel database akan selalu memiliki attribute names (nama-nama attribute), relation names (nama-nama relasi), dan tuples (record-record).

Attribute digunakan untuk mengidentifikasikan sebuah nama yang diikutsertakan dalam relasi dan menspesifikasikan domain (tipe data sederhana yang menentukan sebuah pemisahan data). Sedangkan tuples adalah kumpulan dari record-record di dalam sebuah database. Relation name mendefinisikan attribute-attribute yang diperlukan dalam predikat dan mendefinisikan arti dari predikat tersebut.

 

Optimisasi Query

Optimisasi Query adalah suatu proses untuk menganalisa query untuk menentukan sumber-sumber apa saja yang digunakan oleh query tersebut dan apakah penggunaan dari sumber tersebut dapat dikurangi tanpa merubah output. Atau bisa juga dikatakan bahwa optimisasi query adalah sebuah prosedur untuk meningkatkan strategi evaluasi dari suatu query untuk membuat evaluasi tersebut menjadi lebih efektif. Optimisasi query mencakup beberapa teknik seperti transformasi query ke dalam bentuk logika yang sama, memilih jalan akses yang optimal dan mengoptimumkan penyimpanan data.

Optimisasi query merupakan bagian dasar dari sebuah sistem database dan juga merupakan suatu proses untuk menghasilkan rencana akses yang efisien dari sebuah query di dalam sebuah database. Secara tidak langsung, sebuah rencana akses merupakan sebuah strategi yang nantinya akan dijalankan untuk sebuah query, untuk mendapatkan kembali operasi-operasi yang apabila dijalankan akan menghasilkan database record query. Ada tiga aspek dasar yang ditetapkan dan mempengaruhi optimisasi query, yaitu : search space, cost model dan search strategy.

Search space adalah sekumpulan rencana-rencana akses yang sama secara logika yang dapat digunakan untuk mengevaluasi sebuah query. Semua rencana-rencana dalam search space query mengembalikan hasil yang sama biarpun beberapa rencana lebih efisien dibandingkan dengan rencana yang lainnya.

Cost model menandakan sebuah harga untuk tiap rencana dalam search space. Harga dari rencana tersebut adalah sebuah perkiraan dari sumber-sumber yang digunakan pada saat rencana dijalankan, dimana harga yang lebih rendah, merupakan yang terbaik dari rencana-rencana yang ada.

Search strategy adalah sebuah perincian dari rencana-rencana mana dalam search space yang akan diperiksa. Apabila search space-nya kecil, maka strategi yang dapat diteruskan adalah menghitung dan mengevaluasi setiap rencana. Meskipun kebanyakan search space bahkan untuk query-query yang sederhana adalah sangat besar, akan tetapi query optimizer selalu memerlukan aturan heuristik untuk mengontrol nomer dari rencana-rencana yang akan diperiksa.

 

Sejarah Singkat Optimisasi Query

Optimisasi query lahir sejak sebelum tahun 1970. Pada saat itu yang dikenal dengan jaman kegelapan (dark age), optimisasi query masih dilakukan secara manual oleh manusia. Selain itu, pada jaman tersebut database relasional juga belum dikenal sehingga diperlukan seseorang yang benar-benar ahli dalam database untuk melakukan optimisasi query. Jadi pada jaman kegelapan hingga tahun 1970-an, optimisasi query masih dilakukan oleh manusia dan masih menggunakan cara yang benar-benar kuno.

Seiring dengan perkembangan jaman di mana teknologi menjadi semakin maju, maka sekitar pertengahan tahun 1970-an sampai pada pertengahan tahun 1980-an optimisasi query tidak lagi dilakukan secara manual, tetapi dilakukan oleh suatu sistem yang dikenal dengan sistem R yang kemudian menjadi berkembang pada optimisasi perintah JOIN, sekumpulan tahapan untuk optimisasi query selanjutnya. Hingga saat ini, optimisasi query terus berkembang bersamaan dengan bermunculannya teknik-teknik baru yang digunakan dalam proses optimisasi query meskipun pada dasarnya hanya ada dua macam teknik utama yang biasanya digunakan dalam mengoptimisasi sebuah query. Bisa dikatakan bahwa optimisasi query merupakan tulang punggung dari sebuah sistem karena   ketepatgunaan  suatu  sistem  sangat tergantung dari  optimizernya.

Hampir semua DBMS menggunakan sistem optimisasi query untuk mengurangi waktu eksekusi query sehingga kerja sistem dapat dioptimalkan dan penggunaan sumber-sumber dapat diminimumkan. Selain itu, akes dari disk yang sangat lambat dibandingkan dengan akses memory membuat optimisasi query menjadi semakin penting.

Tujuan Optimisasi Query

Prinsip ekonomi yang diperlukan untuk sebuah query adalah mengoptimisasi prosedur-prosedur, mencoba untuk memaksimumkan output dari sejumlah sumber-sumber yang diberikan ataupun untuk meminimumkan penggunaan sumber untuk memberikan output.

Tujuan dari optimisasi query adalah berbeda-beda untuk setiap sistem. Ada yang menggunakan optimisasi query untuk meminimumkan waktu proses sedangkan pada situasi lain bisa juga optimisasi query diperlukan untuk waktu respon, meminimumkan I/O dan meminimumkan penggunaan memory. Tetapi pada dasarnya, tujuan dari optimisasi query adalah menemukan jalan akses yang termurah untuk meminimumkan total waktu pada saat proses sebuah query. Untuk mencapai tujuan tersebut, maka diperlukan optimizer untuk melakukan analisa query dan untuk melakukan pencarian jalan akses.

 

 



Cetak Tulisan Kirim Keteman Arsip Share ke Facebook


Tulisan lainnya :
- Database Oracle Terdistribusi
Komentar
dany 1 - Selasa, 11 September 2007 12:16 WIB
dany,mahasiswa di Aceh
MauDongkNgertiTentangMSqL
laurens 2 - Kamis, 20 Maret 2008 17:51 WIB
laurens,mahasiswa di jogja
pengen minta belajar lebih lanjut tentang web
harry 3 - Sabtu, 22 Maret 2008 10:21 WIB
harry,mahasiswa di palembang
saya harry sekarang saya lg skripsi, topiknya tentang optimasi query,
tapi saya kesullitan mencari artikel tentang optimasi query yg menggunakan teknik cost based optimization,
kalau ada artikel nya tolong dong kirimin ke email aku trims
HARRY 4 - Minggu, 13 April 2008 17:41 WIB
HARRY,MAHASìSWA di PALEMBANG
MAS.SAYA MAU TAU SEJARAHNYA COST BASED.SM YG PERNAH MENELITINYA.KRM KE EMAIL
dika 5 - Selasa, 29 April 2008 09:44 WIB
dika,mahasiswa di mahasiswa bandung
to : harry

gw juga lagi buat skripsi ttg optimasi query..
hampir 1 tahun ngerjain tuh aplikasi optimasi

gw juga dulu sangat kesulitan mencari info ttg ilmu ini
kalo mau sharing kirim email aja di andika.pratama.putra@gmail.com
harry 6 - Selasa, 22 Juli 2008 18:31 WIB
harry,mahasiswa di palembang
aku mo tanya nih
bisaa g jelasin fungsi dari analyze table,force index,sama straight join
kasih contoh sekalian
trus dimana aku bisa dapetin referensinya???

oh ya satu lagi aku punya query di mysql:
select a.berita_id,a.judul,a.berita coalesce (b.total_komentar,0)as total_komentar
from berita a left join
(select berita_id, count (komentar_id)as total_komentar
from komentar group by berita_id) b using(berita_id)
group by a.berita_id order by berita_id desc;

trus aku coba di oracle malah error..
jadi untuk syntak yang bener dioracle gimana ya???
astri 7 - Minggu, 28 Desember 2008 12:51 WIB
astri,mahasiswa di pati
Q minta tolong dibimbing tentang teknik informatika,walaupun lum kenal tapi q yakin dapat belajar banyak dari u, q semester 1 di salah satu universitas negeri dijoja, q merasa salah masuk jurusan teknik informatika,, T.T ,,
Adi Sumaryadi 8 - Minggu, 28 Desember 2008 13:10 WIB
Adi Sumaryadi,Wiraswasta di Bandung
Haii astri..

Rata-rata semua orang juga bilang begitu, salah jurusanlah atau sebagainya, intinya sih “males untuk belajar”. Sekarang kan gak mungkin untuk pindah jurusan dan ketika pindah jurusanpun belum tentu itu jurusan yang bener. Sekarang yang harus dilakukan adalah nikmati dan coba mempelajari dengan benar apa yang ada sebenernya didalamnya, pasti bisa. Cari temen-temen yang lebih bisa tentang dunia IT dan jangan sungkan untuk bertanya. IT itu keahlian jadi harus sering banyak latihan

hihi, mudah2an bermanfaat
arie 9 - Kamis, 21 Mei 2009 20:27 WIB
arie,mahasiswa di padang
tolongin dong,,, aq lg ngerjain skripisi ttg spk judul skripsi, tp utk bkn databasenya perlu atribute apa saja ya,,,,??? email aj ke "awak_arie3@yahoo.com" sapa aj deh yg bs bantu.........
karlani 10 - Minggu, 28 Juni 2009 15:11 WIB
karlani,orang awam yg ingin bljr IT di jakarta
Terima kasih atas penjelasan yang Mas Adi berikan lewat situs ini..
kebetulan aku juga ingin banyak bljr dari Mas Adi dari awal tentang MSQL karena aku di tuntut utk bljr dari atasan Ku(Head Of EDP).
semoga Tuhan membalas kebaikan Mas Adi.....
Amiiiiiiinnnnnn.......
tia 11 - Selasa, 25 Agustus 2009 14:34 WIB
tia,swasta di jl.cimuncang
pingin belajar dong php dari awal boleh g apa aja yg harus disiapin?
dien 12 - Rabu, 26 Agustus 2009 08:54 WIB
dien,PNS di jakrta
mas, trims ya atas artikelnya. by the way, seperti yg ditulis di atas tentang QUERY, disebutkan bahwa pada tahun 1970-an masih jaman kegelapan dimana penggunaannya masih KUNO sekali..pertanyaannya : kenapa pada saat itu (disekitar tahun 50-an hingga akhir 60-an) sudah ada teknologi ruang angkasa (spaceship/apollo)? bagaimana mungkin apollo terbang kebulan tanpa teknologi komputer? thanks atas penjelasnnya.
Nama Email
Alamat Pekerjaan
Homepage / Blog Notifikasi
Komentar

Masukan kata yang ada dalam gambar diatas
Kunjungan 1.042.146 klik
Website ini dibuat dan dimaintenance oleh Adi Sumaryadi 2007