Langsung ke konten utama

OPTIMASI QUERY



Data didalam database makin lama akan semakin besar ukuranya dan jika tidak didukung dengan kecepatan akses yang memadai maka akan semakin menurun jalan kerjanya. Untuk itulah kita bisa menggunakan optimasi query untuk mengatasinya. Obtimasi tersebut dapat dilakukan dengan cara :
  •          OPTIMASI PERINTAH SQL

Inti dari optimasi query adalah meminimalkan “jalur” pencarian untuk menemukan data yang disimpan dalam lokasi fisik, jadi dalam mendesain database sebaiknya memperhatikan lokasi sisik penyimpanan data tersebut.
Untuk meningkatkan kecepatan database dapat menggunakan index, dimana saat query dijalankan, index mencari data dan menentukan nilai ROWID yang membantu menemukan lokasi data secara fisik pada disk.
Missal digunakan untuk mencari data pada beberapa table dengan mengurutkan data sesuai ketentuan, akan lebih cepat jika data terletak pada block table yang  berdekatan :

CREATE INDEX idx_kota_prop_kodepos
ON karyawan(kota, propinsi, kode_pos)
TABLESPACE INDX;

  •        PERENCANAAN EKSEKUSI

Sebelum melakukan eksekusi sebaiknya kita cari tahu dulu jalur aksesnya, hal ini dapat dilakukan dengan menggunakan perintah explain plain untuk database menggunakan Oracle.
Namun sebelum membuat perintah explain plan, terlebih dulu buat table plan TABLE_PLAN dengan script utlxplan.sql .
Setelah itu table PLAN_TABLE dapat digunakan seperti contoh :
SQL> explain plan
Set statement_id=’test1’
Into plan_table for
Select * from karyawan where gaji=2000000;
Dalam PLAN_TABLE rencana eksekusi diatas dikenal dengan nama test1 yang  terdefinisi pada kolom statement_id.

Untuk melihat rencana eksekusi dari test1, digunakan perintah SELECT berikut :
SELECT LPAD(’ ’,2*Level)||Operation||’ ’||Options||’ ’||Object_Name Q_Plan
FROM plan_table
WHERE statement_id=’test1’
CONNECT BY PRIOR id=parent_id AND statement_id=’test1’
START WITH id=0 AND statement_id=’test1’;

Contoh hasil dari eksekusi query tersebut :
Q_PLAN
--------------------------------------------------------------------
SELECT STATEMENT
TABLE ACCESS FULL KARYAWAN
Output tersebut dibaca mulai dari yang indent-nya paling dalam yaitu : TABLE ACCESS FULL KARYAWAN. Dikarenakan klausa WHERE melibatkan kolom gaji namun kolom gaji tidak ada index-nya, maka Oracle melakukan full table scan. Setelah seluruh tabel karyawan selesai dibaca, selanjutnya adalah SELECT STATEMENT untuk menampilkan hasil query.

  •        FAKTOR LAIN YANG MEMPENGARUHI KECEPATAN AKSES DATA

Ø  Optimasi Aplikasi
Optimasi aplikasi tergantung pada efisiensi penggunaan objek yang mendukung kecepatan akses seperti index atau cluster dan normalisasi data pada desain database.
Ø  Cluster dan Index
Cluster adalah suatu segment yang menyimpan data dari table berbeda dalam suatu struktur fisik yang berdekatan. Penggunaan cluster secara tepat dilakukan setelah menganalisa table mana saja yang sering di-query secara bersamaan menggunakan perintah SQL join dan penggunaan index yang tepat tergantung pada jenis nilai yang terdpat dalam kolom yang akan diindex.
Pada database engine semisal Oracle keceptan akses datanya dipengaruhi oleh beberapa komponen arsitektur pembentuknya seperti shared pool, buffer cache, dan redo log buffer.

Komentar

Postingan populer dari blog ini

PRINSIP-PRINSIP MANAJEMEN SEKOLAH

Menurut Kamus Umum Bahasa Indonesia,1990 yang dimaksud dengan prinsip adalah   dasar, azas (kebenaran yang menjadi pokok dasar berpikir, bertindak).   Sedangkan prinsip yang dimaksud dalam prinsip managemen sekolah adalah landasar-landasan yang dijadikan dasar dalam melaksanakan fungsi atau pekerjaan manajemen sekolah. Berikut ini merupakan prinsip managemen dalam pengelolaan sekolah   agar dapat mencapai tujuan sekolah yang baik : Prinsip Efisiensi Prinsip efisiensi adalah suatu prinsip yang menciptakan hasil optimal dengan menggunakan modal yang sedikit. Prinsip Efektivitas Prinsip efisiensi adalah suatu prinsip ketercapaian sasaran sesuai dengan tujuan yang diharapkan. Prinsip Pengelolaan Prinsip pengelolaan adalah suatu prinsip yang mengharuskan manager untuk melakukan pengelolaan sumber-sumber daya yang ada. Prinsip Pengutamaan Tugas Pengelolaan Prinsip pengutamaan tugas pengelolaan adalah suatu prinsip yang mengharuskan manager untuk ...

Setting Arduino Uno

Baru-baru ini ane melajarin yang namanya Arduino buat microprocessor nih, dari mulai makul Sistem Microprosesor sampe makul Interfacing yang dipelajarin masih Arduino. Dan ternyata dua mata kuliah itu memang saling sangkutpaut terpadu. Sistem Microprosesor itu mempelajari tentang bagaimana membuat microprosesor berupa sensor dengan Arduino sedangkan Interfacing adalah mata kuliah untuk pembuatan interface dari microcontroller tersebut. Jadi intinya untuk interaksi pengguna dengan sistem microcontroller tersebut dapat melalui sebuah interface yang dibuat dari Visual Basic atau dengan Java. Ternyata Arduino itu tidak bisa langsung tancep langsung pakai. Ya namanya juga microprocessor, jadi jika ingin disambungkan ke komputer pastilah harus ada driver intallernya dong ya. Ini nih cara singkat setting Arduino pada komputer dengan COM penghubung sesuai dengan yang kita inginkan. Untuk menghubungkan Interface VB dengan arduino langkah-langkahnya sebagai berikut : 1.  ...

ROUTING

Praktek Kedua Mata Kuliah Praktek Keamanan Jaringan Komputer Praktek kedua ini adalah setting router, dan router yang saya gunakan adalah jenis Microtic Router. Alat yang dibutuhkan antara lain : ·          Beberapa kabel tipe Straight-trough ·          PC ·          Router ·          Switch ·          Software winBox Yang pertama kita lakukan adalah menghubungkan PC dengan router menggunakan kabel straight-trough. Pada router terdapat sejumlah port/Ethernet yang bisa dihubungkan ke beberapa jaringan. Karena ini permulaan maka saya hanya akan mensetting port/Ethernet1 pada router. Mari kita mulai :) ·          Pastikan PC kalian sudah terinstall winBox. ·          Hidupkan ...