EXPLAIN & Query Plans — Database

Apa itu EXPLAIN? EXPLAIN menunjukkan bagaimana database akan mengeksekusi query — disebut query plan. Ini adalah tool utama untuk memahami dan mengoptimasi perf

Apa itu EXPLAIN?

EXPLAIN menunjukkan bagaimana database akan mengeksekusi query — disebut query plan. Ini adalah tool utama untuk memahami dan mengoptimasi performa query.

Cara Menggunakan EXPLAIN

-- EXPLAIN dasar: menunjukkan rencana eksekusi
EXPLAIN SELECT * FROM users WHERE email = '[email protected]';

-- EXPLAIN ANALYZE: menjalankan query dan menunjukkan waktu aktual
EXPLAIN ANALYZE SELECT * FROM users WHERE email = '[email protected]';

Membaca Query Plan

-- Tanpa index
EXPLAIN ANALYZE SELECT * FROM users WHERE email = '[email protected]';
-- Seq Scan on users (cost=0.00..35.50 rows=1 width=540)
--   Filter: (email = '[email protected]')
--   Actual time: 0.523..0.530 rows=1 loops=1

-- Dengan index
CREATE INDEX idx_users_email ON users(email);
EXPLAIN ANALYZE SELECT * FROM users WHERE email = '[email protected]';
-- Index Scan using idx_users_email (cost=0.29..8.30 rows=1 width=540)
--   Index Cond: (email = '[email protected]')
--   Actual time: 0.025..0.026 rows=1 loops=1

Jenis Scan yang Umum

Metrik yang Perlu Diperhatikan

Yang akan kamu pelajari