Optimasi Pada Perintah Sql

Desain aplikasi saja tidak cukup untuk meningkatkan unjuk kerja sebuah aplikasi, maka setiap aplikasi tentunya harus didukung dengan meningkatkan secara optimal dari database dengan perintah SQL yang dipakai pada aplikasi tersebut. Dalam mendesain database, seringkali lokasi fisik data tidak menjadi perhatian penting alasannya ialah hanya desain logik saja yang diperhatikan. Padahal untuk menampilkan hasil query diharapkan pencarian yang melibatkan struktur fisik penyimpanan data. Inti dari meningkatkan secara optimal query ialah meminimalkan “jalur” pencarian untuk menemukan data yang disimpan dalam lokasi fisik.


Index pada database dipakai untuk meningkatkan kecepatan saluran data. Pada ketika query dijalankan, index mencari data dan memilih nilai ROWID yang membantu menemukan lokasi data secara fisik di disk. Akan tetapi penggunaan index yang tidak tepat, tidak akan meningkatkan unjuk kerja dalam hal ini kecepatan saluran data.
Misal dipakai index yang melibatkan tiga buah kolom yang mengurutkan kolom berdasarkan kota, propinsi dan aba-aba pos dari tabel karyawan, sebagai berikut:

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

Kemudian user melaksanakan query sebagai berikut:
SELECT * FROM karyawan WHERE propinsi=’Jawa Barat’;
Pada ketika melaksanakan query ini, index tidak akan dipakai alasannya ialah kolom pertama (kota) tidak dipakai dalam klausa WHERE. Jika user sering melaksanakan query ini, maka kolom index harus diurutkan berdasarkan propinsi. Selain itu, proses pencarian data akan lebih cepat bila data terletak pada blok tabel yang berdekatan daripada harus mencari di beberapa datafile yang terletak pada blok yang berbeda.
Misal pada perintah SQL berikut ini :

SELECT * FROM karyawan
WHERE id BETWEEN 1010 AND 2010;

Query ini akan melaksanakan “scan” terhadap sedikit blok data bila tabel karyawan diatas diurutkan berdasarkan kolom id. Untuk mengurutkan berdasarkan kolom yang berbeda-beda maka tabel disimpan dalam flat file, kemudian tabel diekspor dan diurutkan sesuai kebutuhan.
Alternatif yang lain, sanggup dipakai perintah untuk menciptakan tabel lain yang mempunyai urutan yang berbeda dari tabel asal, menyerupai perintah SQL berikut :

CREATE TABLE karyawan_urut
AS SELECT * FROM karyawan
ORDER BY id;

Pada SQL diatas, tabel karyawan_urut berisi data yang sama dengan tabel karyawan hanya datanya terurut berdasarkan kolom id.

Dalam sebuah jurnal perihal meningkatkan secara optimal dengan memanfaatkan histogram  menggunakan dari distribusi data yang ada dibangun sebuah histogram yang berisikan frekuensi munculnya data tertentu dan dikelompokkan (buckets). Jika data tersebut bersifat numerik maka pengelompokan sanggup dengan gampang ditentukan melalui sebuah batasan. Jika data tersebut bersifat kategori maka sanggup dikelompokkan berdasarkan urutan hurufnya. Selanjutnya, dilakukan sanksi query beberapa sampel. Eksekusi sampel ini mengkonsumsi sejumlah kecil dari sumber daya yang tersedia. Dari hasil query tersebut, akan diperkirakan frekuensi untuk histogram.

Sumber http://www.virtualofworld.com/

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel