<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Strategi_optimasi_query_dan_analisis_execution_plan</id>
	<title>Strategi optimasi query dan analisis execution plan - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Strategi_optimasi_query_dan_analisis_execution_plan"/>
	<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Strategi_optimasi_query_dan_analisis_execution_plan&amp;action=history"/>
	<updated>2026-04-20T07:09:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Strategi_optimasi_query_dan_analisis_execution_plan&amp;diff=72572&amp;oldid=prev</id>
		<title>Unknown user: /* Analisis Query dengan EXPLAIN */</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Strategi_optimasi_query_dan_analisis_execution_plan&amp;diff=72572&amp;oldid=prev"/>
		<updated>2025-04-20T23:50:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Analisis Query dengan EXPLAIN&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:50, 20 April 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Contoh Output:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Contoh Output:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| id &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/del&gt;select_type &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/del&gt;table     &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/del&gt;type   &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/del&gt;possible_keys &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/del&gt;key   &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/del&gt;rows &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| &lt;/del&gt;Extra &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      |&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{&lt;/ins&gt;| &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;class=&quot;wikitable&quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-|--|--|-|--||-|&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;! &lt;/ins&gt;id &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!! &lt;/ins&gt;select_type &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!! &lt;/ins&gt;table     &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!! &lt;/ins&gt;type   &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!! &lt;/ins&gt;possible_keys &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!! &lt;/ins&gt;key   &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!! &lt;/ins&gt;rows &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;!! &lt;/ins&gt;Extra&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 1  | SIMPLE      | mahasiswa | ref    | nama           | nama  | 1    | Using index |&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 1  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;| SIMPLE      &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;| mahasiswa &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;| ref    &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;| nama           &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;| nama  &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|&lt;/ins&gt;| 1    &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;||&lt;/ins&gt;| Using index&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;gt; Gunakan `EXPLAIN ANALYZE` (MySQL 8+) untuk analisis yang lebih rinci.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;gt; Gunakan `EXPLAIN ANALYZE` (MySQL 8+) untuk analisis yang lebih rinci.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Strategi Optimasi Query==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Strategi Optimasi Query==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Strategi_optimasi_query_dan_analisis_execution_plan&amp;diff=72571&amp;oldid=prev</id>
		<title>Unknown user at 09:32, 20 April 2025</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Strategi_optimasi_query_dan_analisis_execution_plan&amp;diff=72571&amp;oldid=prev"/>
		<updated>2025-04-20T09:32:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://lms.onnocenter.or.id/wiki/index.php?title=Strategi_optimasi_query_dan_analisis_execution_plan&amp;amp;diff=72571&amp;amp;oldid=72509&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Strategi_optimasi_query_dan_analisis_execution_plan&amp;diff=72509&amp;oldid=prev</id>
		<title>Unknown user: Created page with &quot;Berikut adalah lanjutan dari **Modul 7: Indeks dan Optimasi Kinerja Query**, dengan fokus pada **strategi optimasi query** dan **analisis execution plan**, dilengkapi dengan *...&quot;</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Strategi_optimasi_query_dan_analisis_execution_plan&amp;diff=72509&amp;oldid=prev"/>
		<updated>2025-04-13T02:11:35Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Berikut adalah lanjutan dari **Modul 7: Indeks dan Optimasi Kinerja Query**, dengan fokus pada **strategi optimasi query** dan **analisis execution plan**, dilengkapi dengan *...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Berikut adalah lanjutan dari **Modul 7: Indeks dan Optimasi Kinerja Query**, dengan fokus pada **strategi optimasi query** dan **analisis execution plan**, dilengkapi dengan **contoh penerapan di MySQL Ubuntu 24.04**.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🧠 **Modul 7 (Lanjutan): Indeks dan Optimasi Kinerja Query**&lt;br /&gt;
&lt;br /&gt;
### 🎯 **Tujuan Pembelajaran**&lt;br /&gt;
Setelah mempelajari modul ini, mahasiswa diharapkan mampu:&lt;br /&gt;
- Menganalisis performa query menggunakan **EXPLAIN**.&lt;br /&gt;
- Menyusun strategi optimasi query.&lt;br /&gt;
- Menggunakan indeks dan teknik penulisan query untuk mempercepat eksekusi.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## ⚡ **7.5 Apa Itu Optimasi Query?**&lt;br /&gt;
&lt;br /&gt;
**Optimasi Query** adalah proses penyusunan dan perbaikan perintah SQL agar berjalan lebih efisien, baik dari sisi waktu eksekusi maupun penggunaan sumber daya.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🧩 **7.6 Analisis Query dengan EXPLAIN**&lt;br /&gt;
&lt;br /&gt;
### ✅ **EXPLAIN** menunjukkan cara MySQL merencanakan dan mengeksekusi query.&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
EXPLAIN SELECT * FROM mahasiswa WHERE nama = &amp;#039;Andi&amp;#039;;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 🧾 Contoh Output:&lt;br /&gt;
&lt;br /&gt;
| id | select_type | table     | type   | possible_keys | key   | rows | Extra       |&lt;br /&gt;
|----|-------------|-----------|--------|----------------|--------|------|-------------|&lt;br /&gt;
| 1  | SIMPLE      | mahasiswa | ref    | nama           | nama  | 1    | Using index |&lt;br /&gt;
&lt;br /&gt;
&amp;gt; Gunakan `EXPLAIN ANALYZE` (MySQL 8+) untuk analisis yang lebih rinci.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🔍 **7.7 Strategi Optimasi Query**&lt;br /&gt;
&lt;br /&gt;
### 🧠 1. **Gunakan SELECT Kolom Spesifik, Bukan SELECT ***:&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- Kurang efisien&lt;br /&gt;
SELECT * FROM mahasiswa;&lt;br /&gt;
&lt;br /&gt;
-- Lebih efisien&lt;br /&gt;
SELECT nim, nama FROM mahasiswa;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
### 🧠 2. **Gunakan Indeks pada Kolom WHERE atau JOIN**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- Menambahkan indeks untuk kolom yang sering dicari&lt;br /&gt;
CREATE INDEX idx_nama ON mahasiswa(nama);&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
### 🧠 3. **Gunakan LIMIT untuk Batasi Data**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
SELECT * FROM mahasiswa ORDER BY nama LIMIT 10;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
### 🧠 4. **Hindari Fungsi di Kolom WHERE**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- Kurang efisien karena fungsi dijalankan per baris&lt;br /&gt;
SELECT * FROM mahasiswa WHERE YEAR(tanggal_lahir) = 2000;&lt;br /&gt;
&lt;br /&gt;
-- Lebih efisien&lt;br /&gt;
SELECT * FROM mahasiswa WHERE tanggal_lahir BETWEEN &amp;#039;2000-01-01&amp;#039; AND &amp;#039;2000-12-31&amp;#039;;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
### 🧠 5. **Gunakan JOIN daripada Subquery jika memungkinkan**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- Subquery (kurang efisien jika tidak ada indeks)&lt;br /&gt;
SELECT nama FROM mahasiswa WHERE nim IN (&lt;br /&gt;
  SELECT nim FROM pengambilan WHERE kode_mk = &amp;#039;MK001&amp;#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
-- JOIN (lebih efisien jika ada index di pengambilan.nim)&lt;br /&gt;
SELECT m.nama&lt;br /&gt;
FROM mahasiswa m&lt;br /&gt;
JOIN pengambilan p ON m.nim = p.nim&lt;br /&gt;
WHERE p.kode_mk = &amp;#039;MK001&amp;#039;;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🔎 **7.8 Studi Kasus: Bandingkan Kinerja Query**&lt;br /&gt;
&lt;br /&gt;
### 👎 Query 1 (Tanpa Indeks)&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
SELECT * FROM mahasiswa WHERE nama = &amp;#039;Andi&amp;#039;;&lt;br /&gt;
-- EXPLAIN menunjukkan &amp;quot;type: ALL&amp;quot; = full table scan&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
### 👍 Query 2 (Dengan Indeks)&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
CREATE INDEX idx_nama ON mahasiswa(nama);&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM mahasiswa WHERE nama = &amp;#039;Andi&amp;#039;;&lt;br /&gt;
-- EXPLAIN menunjukkan &amp;quot;type: ref&amp;quot;, &amp;quot;key: idx_nama&amp;quot;&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🛠 **7.9 Tools Tambahan untuk Optimasi di Ubuntu**&lt;br /&gt;
&lt;br /&gt;
1. **EXPLAIN** dan **EXPLAIN ANALYZE**  &lt;br /&gt;
2. **Performance Schema** (aktifkan di `/etc/mysql/mysql.conf.d/mysqld.cnf`)  &lt;br /&gt;
3. **MySQL Tuner** (command-line tool)&lt;br /&gt;
&lt;br /&gt;
```bash&lt;br /&gt;
sudo apt install mysqltuner&lt;br /&gt;
sudo mysqltuner&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 📌 **7.10 Kesimpulan**&lt;br /&gt;
&lt;br /&gt;
- Gunakan **EXPLAIN** untuk melihat bagaimana query dijalankan oleh MySQL.&lt;br /&gt;
- Gunakan **indeks** pada kolom yang sering digunakan dalam WHERE, JOIN, atau ORDER BY.&lt;br /&gt;
- Hindari `SELECT *`, fungsi di kolom WHERE, dan subquery tidak efisien.&lt;br /&gt;
- Kombinasi indeks + penulisan query yang benar bisa meningkatkan performa hingga 10x lipat atau lebih.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Kalau kamu mau saya bantu buat **latihan soal optimasi query + pembahasan**, atau simulasi benchmark perbandingan dengan waktu eksekusi, tinggal bilang ya!&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>