Ana içeriğe geç
Kesit SQL
İleri · Büyük Sorgular

Büyük sorgularla çalışmak: okuma, yazma ve hata ayıklama yöntemi

100 satırlık bir sorguyu parçalara ayırmak, her adımı ayrı doğrulamak ve okunur tutmak.

Uygulamada aç, 6 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Gerçek işte sorgular uzundur

Bir şirketin aylık yönetim raporu, dolandırıcılık kuralları ya da veri ambarı yüklemesi nadiren tek bir SELECT ile biter. Çoğu 5–10 adımlı bir boru hattıdır: her adım bir öncekinin çıktısını alır, biraz dönüştürür ve bir sonrakine verir. Bu modüldeki her ders böyle bir sorguyu baştan sona kurar.

Beş kural

  1. Her CTE tek bir iş yapsın ve adı o işi söylesin: ilk_siparis, aylik_ciro, segment.
  2. Her adımın taneciğini bil: “bir satır = bir müşteri × ay” gibi. Tanecik değiştiğinde (gruplama) bunu yorumla yaz.
  3. Satır sayısını kontrol et: Her CTE'den sonra SELECT COUNT(*) ile beklenen satır sayısını doğrula. JOIN sonrası beklenmedik artış, satır çoğalmasıdır.
  4. Filtreyi erken uygula: Tarih aralığı ve durum filtrelerini ilk CTE'de yaz; sonraki adımlar daha az veriyle çalışır.
  5. Son SELECT sunumdur: Yuvarlama, Türkçe sütun adları ve sıralama en sonda yapılır; ara adımlar ham değer taşır.

Hata ayıklama: sondan değil, baştan

Sonuç yanlışsa son SELECT'i değil, ilk CTE'yi incele. Her adımı tek tek çalıştır; sayıların nerede saptığını bul. Aşağıdaki iskelet her büyük sorgunun başlangıç noktasıdır:

WITH adim1 AS (...),      -- satır sayısı: ?
     adim2 AS (...),      -- satır sayısı: ?
     adim3 AS (...)
SELECT * FROM adim2 LIMIT 20;   -- incelediğin adımı buraya yaz
PerformansBüyük sorguyu hızlandırmanın en etkili yolu, ilk adımda ihtiyaç duyulan satır ve sütunlara inmektir. Planı okumadan önce “hangi adımda kaç satır var?” sorusunu cevapla.
Alıştırmalara geç (6)