Selasa, 08 Januari 2013

Optimasi Query


Optimasi Query   
 
Mencari urutan optimal dari operasi query.
       Strategi yang terpilih diharapkan dapat meminimalisasi biaya yang harus dikeluarkan dalam pengeksekusian query.
       Biaya eksekusi merupakan kombinasi bobot dari I/O, CPU, dan biaya komunikasi.


  • Search Space

Merupakan sekumpulan alternatif perencanaan eksekusi yang merepresentasikan query. Seluruh alternatif adalah ekuivalen, yaitu memberikan hasil yang sama dengan urutan pengoperasian, pengimplementasian, dan performance yang berbeda.
Representasi dari query tersebut dibentuk dalam suatu operator trees yang dapat dibuat dengan aturan transformasi


  • Cost Model

Cost Model memprediksi biaya yang harus dikeluarkan dari suatu query yang akan dieksekusi. Terdiri dari cost function, statistic database, dan formula.


  • Search Strategy

Search strategy mengeksplorasi search space dan memilih strategi terbaik dari alternatif yang ada menggunakan cost model.
Search Strategy yang dapat digunakan adalah dynamic programming yang bersifat determenistik, di mana menghasilkan solusi terbaik, dan randomized strategies (seperti Iterative Improvement dan Simulated Annealing) yang berkonsentrasi pada pencarian solusi optimal dengan menghindari biaya tinggi dalam optimasi.

Structured Query Language (SQL)

PENGERTIAN
SQL merupakan subbahasa pemrograman yang khusus dipergunakan untuk memanipulasi basis data.
SQL adalah salah satu DBMS (database management system) yang saat ini banyak digunakan untuk operasi basis data dan embedded (ditempelkan) di hampir semua bahasa pemrograman yang mendukung basis data relasional.
Perbedaan penggunaan SQL pada masing-masing bahasa biasanya  pada sintaks2 khusus. Misalnya : INSERT INTO … VALUE. Pada bahasa yang lain INSERT INTO …VALUES…, dll.
Bahasa yang mendukung SQL antara lain : V Basic, C++ Builder,Delphi, ORACLE, MySQL,PostGreeSQL,JAVA,dll.



KATEGORI
SQL memiliki 3 kategori perintah

  • Data Definition Language (DDL), yakni perintah2 yang digunakan untuk mendefinisikan (menciptakan, tambah/mengubah/hapus) sturktur data/tabel
  • Data manipulation language (DML), yakni perintah yang digunakan untuk memanipulasi database (melihat, menenusuri, filtering, summarize, perhitungan, dll)
  • Data Control Language (DCL, digunakan untuk mengedalikan database