KOMUNITAS
Home / FORUM / All / Tech / ... / Programmer Forum /
Trik Mempercepat/Tuning Query Execution di MS SQL Server
KASKUS
51
244
https://www.kaskus.co.id/thread/000000000000000009509493/trik-mempercepat-tuning-query-execution-di-ms-sql-server

Trik Mempercepat/Tuning Query Execution di MS SQL Server

tolong bantu rate emoticon-Rate 5 Star emoticon-Rate 5 Star dan jika berkenan emoticon-Blue Guy Cendol (L) emoticon-Blue Guy Cendol (L)

Bagi agan2 yg pernah ngalamin "nih aplikasi kok jalannya lemot amat ya?"
tunggu 5menit lom tampil datanya, sabar deh tunggu lagi 30menit, masih ga tampil emoticon-Hammer (S)
ampun deh gw tinggal makan siang aja lah, abis maksi ...
eh udah keluar, et et et tapi kok yg tampil error "Time Out". emoticon-Hammerhammer

Nah kali salah satu trik mempercepat query PALING AMPUH (salah satu):
INDEXING


BISA dipastikan query yg mengakses puluhan/ribuan juta/Miliyaran data akan sangat lambat jika tdk ada INDEX.

PERTANYAAN
Spoiler for "PERTANYAAN":


STUDY KASUS DAN JAWABAN
Spoiler for "STUDY KASUS DAN JAWABAN":


Jawaban Detail Pertanyaan No. 2, 3 dan 4
Spoiler for "Jawaban Detail Pertanyaan No. 2, 3 dan 4":


Bagi agan2 yg ingin bertanya, kasih masukan, mo tambahin atau ada kasus dikerjaan monggo saja kita bisa bahas dan share sama2 ....

To be Continue..
Spoiler for "Next kita bahas Trik2 Tuning:":
Polling
183 Suara
Disaat query lambat apa yg dilakukan? 
profile-picture
nona212 memberi reputasi
Halaman 1 dari 17

Study kasus

Study Kasus Memahami cara kerja SQL Engine Memilih Index
(Gunakan Estimate Execution Plan)..


Table: t_transaksi (yg menampung semua transaksi pembayaran)
Field2: id (Cluster Index primary key), id_cabang (Non Cluster Index = IdxCbg), tgltransaksi, pembayaran.
Jumlah Row: 100rb

setelah digroup by id_cabang diperoleh hsl sbb:
id_cabang count
001 - 80000
002 - 19900
003 - 100

SOAL 1
Select * from t_transaksi whre id_cabang='001'

Pertanyaan:
1. jika query tersebut dijalankan apa index IdxCbg digunakan?
2. index apa yg digunakan pada query diatas index seek atau scan?
3. Cluster index atau non cluster index yg digunakan?

SOAL 2
Select * from t_transaksi whre id_cabang='003'

Pertanyaan:

1. jika query tersebut dijalankan apa index IdxCbg digunakan?
2. index apa yg digunakan pada query diatas index seek atau scan?
3. Cluster index atau non cluster index yg digunakan?

Pertanyaan Akhir:
1. menurut agan apa perlu buat index baru dgn nama IdxCbg field id_Cabang ?
2. Apa yg membedakan soal 1 dan 2?

CEKIDOT FOR JAWABAN: emoticon-Requestemoticon-Shakehand2
Spoiler for "Jawaban ini dari agan2 sekalian":

Security Issue dan Anti Virus

Security Issue dan Anti Virus

Saya copas ini krn sy rasa infonya bs bermanfaat untuk sy dan agan2 semua

Quote:


Quote:



Quote:



Quote:



Quote:

Study Kasus Konsep Batching Process

Study Kasus Konsep Batching Process (Versus Cursor)..


Trik Mempercepat/Tuning Query Execution di MS SQL Server

anggap saja pada tabel di atas ada 10jt record, dan data yg diupdate ada 10rb.
Pertanyaan:
1. Monggo sopo yg mau konversi query di atas menjadi Batching Process?
2. Knp metode cursor lebih lambat dari metode batching?
3. Kira2 berapa jauh perbedaan durasi antara metode cursor dengan batching?
4. Apa kelemahan/resiko dan kelebihan Batching Proses?

Jawaban:
Mohon masukan agan2 sekalian untuk kasus ini, thx sebelumnya emoticon-Add Friend (S)
CEKIDOT FOR JAWABAN: emoticon-Requestemoticon-Shakehand2
Spoiler for Jawaban:
Diubah oleh Achilles123
Reserve..
emoticon-I Love Kaskus (S)
nice inpo gan emoticon-Smilie
mana nih lanjutannya?koq kaga ada isinya?
Quote:


Kita bahas indexing dulu mas agan, sebenernya sy juga dah agak lupa ilmu 6thn lalu soalnya, waktu masih jd programmer....kudu buka repository 6 thn lalu emoticon-Big Grin
monggo gan jika ada tambahan/masukan emoticon-Smilie
Post ini telah dihapus
Quote:


1. liat di semua query yang pake tabel itu. Cari field yang dimasukin ke daftar bagian WHERE sama JOIN ON.
Misalnya
select * from tabel1 a join tabel2 b on a.kode = b.group_code where a.tanggal = '20100101' and a.status = 1
nah field yang ada di bagian WHERE sama ON adalah : a.tanggal, a.status, a.kode, b.group_code
berarti yang di index adalah field tanggal, status, dan kode dari tabel1, dan field group_code di tabel2.

2. masih nyambung dengan nomor 1, urutan field yang diindex yang mana dulu nih? WHERE dulu, baru ON. Kalo liat contoh di atas, berarti di tabel1 urutannya itu tanggal (karena di WHERE dan pertama kali), status (karena di WHERE dan urutan ke dua di WHEREnya), baru a.kode (karena ada di ON dan posisinya ada di statement JOIN urutan pertama)

Tambahan :
field yang dimasukin di WHERE, harus berurutan dari tabel pertama, tabel kedua, tabel ketiga, dst. Jangan loncat2... Jangan langsung nge-WHERE di tabel ke-2 ato ke 3. HARUS di tabel 1 dulu, baru tabel2 selanjutnya...

Kalo ternyata WHERE itu fieldnya di tabel ke 3 gmana? ya tabel ke-3 harus pindah di posisi pertama.
Quote:


monggo gan klo ada kasus lemot di query posting aja kita bahas keroyokan biar bs lbh cepat emoticon-Smilie
Quote:


Thx alot gan atas sharingnya mantaff emoticon-Smilie, setuju dengan masukannya mas agan.klo ada waktu monggo cek ke postingan pertama sudah tak lengkapi tips2 mengenai index.

ada sedikit masukan gan menurut sy bagusnya field status jgn dibuatkan indexnya knp? reasonnya ada dijwaban no.3b. monggo cek di postingan pertama emoticon-Blue Guy Peaceemoticon-Blue Guy Peace
monggo agan2 sekalian klo ada masukan atau pertanyaan..
Agan TS nih piye toh? Dah reserve post banyak di atas koq dikosongin?
Quote:


untuk kedepannya gan, bakalan panjang nanti gan klo udah dijelasin 1-1..

saat ini bahas index dulu, klo index aja ga ada yg tau/mau didiskusikan untuk apa dilanjut toh.. soalnya semakin dilanjut tingkat kesulitannya semakin ribet ..
emoticon-I Love Indonesia (S)emoticon-Blue Guy Cendol (S)
emoticon-I Love Indonesia (S)
emoticon-Add Friend (S)emoticon-I Love Indonesia (S)emoticon-Blue Guy Peace
emoticon-Blue Guy Peaceemoticon-I Love Indonesia (S)
Halaman 1 dari 17


×
© 2023 KASKUS, PT Darta Media Indonesia. All rights reserved
Ikuti KASKUS di