Join stratejileri
- SQL kursu
- Uzman
- Ders 16/45
- 5 dk
Hash, merge ve nested loop join'i öğrenirsin.
Join stratejileri
İyileştirici üç temel join stratejisi kullanır: nested loop (küçük tablolar), hash join (büyük eşitlik join), merge join (sıralı veri).
-- Nested Loop: küçük + küçük
-- Hash Join: büyük = büyük
-- Merge Join: sıralı + sıralıBu sorgu üç join stratejisi vardır.
Join stratejileri — ayrıntı
Hash join, bir tabloyu bellekte hash tablosuna kurar ve diğerini tarar. Yeterli RAM yoksa disk taşar ve yavaşlar. Merge join ise iki tablo da sıralıysa hızlıdır.
Uygulama Join stratejileri
orders ve customers tablolarını customer_id üzerinden JOIN ile birleştir; EXPLAIN ile planı gör.
Başlangıç kodu
-- join planı
EXPLAIN SELECT * FROM orders oÖrnek çözüm
EXPLAIN SELECT * FROM orders o JOIN customers c ON o.customer_id = c.id;Beklenen çıktı
Hash Join on orders x customers
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Büyük eşitlik join'de hangi strateji?
- Nested loop
- Hash join Doğru cevap
- Seq scan
- Index scan
Açıklama: Büyük eşitlik join'de hash join kullanılır.
2 Küçük tablolar için join
____ Join
Nested Loop Join
Açıklama: Nested Loop doğru cevap.
3 Join stratejileri: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
nested loop |
iç içe |
hash join |
hash |
merge join |
birleşim |
small |
küçük |