Optimizasyon meydan okuması
- SQL kursu
- Uzman
- Ders 43/45
- 6 dk
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
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email TEXT UNIQUE,
password_hash TEXT
);
-- optimizasyon
EXPLAINÖrnek çözüm
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
____ SELECT * FROM users WHERE email = 'a@b.com';
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 |