CodeBlanks Logo Icon CodeBlanks

Optimizasyon meydan okuması

Yavaş sorguyu plan okuyarak iyileştir

Optimizasyon challenge

İkinci challenge: users tablosunda email sorgusunun planını EXPLAIN ile gör. E-posta tekil (UNIQUE) olduğundan indeks zaten hızlandırır.

EXPLAIN SELECT * FROM users
WHERE email = 'a@b.com';

EXPLAIN planı gösterir.

users kaynağından tüm sütunlar seçilir. WHERE email = 'a@b.com' koşulunu sağlamayan satırlar elenir.

Uygulama Optimizasyon challenge

Önceki users tablosunda EXPLAIN SELECT * FROM users WHERE email = 'a@b.com' çalıştır.

Başlangıç kodu

query.sql
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email TEXT UNIQUE,
  password_hash TEXT
);
-- optimizasyon
EXPLAIN

Örnek çözüm

query.sql
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  email TEXT UNIQUE,
  password_hash TEXT
);
-- optimizasyon
EXPLAIN SELECT * FROM users WHERE email = 'a@b.com';

Beklenen çıktı

Index Scan on users_email_key

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Plan komutu

Soru
____ SELECT * FROM users WHERE email = 'a@b.com';
Cevap
EXPLAIN SELECT * FROM users WHERE email = 'a@b.com';

Açıklama: EXPLAIN doğru cevap.

2 UNIQUE kısıtı ne oluşturur?

  • Otomatik indeks Doğru cevap
  • Tetikleyici
  • Görünüm
  • Yordam

Açıklama: UNIQUE kısıtı otomatik indeks oluşturur.

3 Optimizasyon challenge: kavramları eşleştir

Kavram Anlamı
EXPLAIN plan
UNIQUE tekil
Index Scan indeks
Seq Scan tam tarama

Uzman bölümündeki tüm dersler