← Yazılara Dön
RESEARCH NOTE / 003 / VERİ MÜHENDİSLİĞİ & OPTİMİZASYON

Veri Biliminde SQL'in Önemi ve Sorgu Optimizasyonu

Veri bilimi projelerinde SQL sorgularının rolünü, büyük veri kümeleriyle çalışırken join operasyonlarını ve performans artırıcı sorgu yazım tekniklerini ele alıyorum.

20 Nisan 2026 · 2 dk okuma · Orçun Çakar
HIZLI ÖZET / 60 SN
EXECUTIVE SYNTHESIS

Verinin Kaynağı: Veritabanları

Veri bilimi ve analiz süreçlerine başladığımızda, genellikle verilerin hazır .csv veya .xlsx dosyalarında bizi beklediğini düşünürüz. Ancak kurumsal şirketlerde ve gerçek projelerde veri, devasa ilişkisel veritabanlarında depolanır. Bu nedenle, bir veri bilimcinin veya stajyerinin ilk ve en sık kullandığı araç SQL'dir.

Luminoris'te sürdürdüğüm stajımda edindiğim tecrübelerle, veri analizinde SQL sorgusu yazmanın ötesine geçip sorgu performansını optimize etmenin önemini bu yazımda özetledim.

1. SQL: Veri Bilimcinin İlk Filtresi

Milyonlarca satırdan oluşan bir veritabanından tüm veriyi Python veya R ortamına çekip orada filtrelemek, RAM yetersizliğine ve ciddi performans kayıplarına yol açar. Doğru yaklaşım, veriyi daha kaynağındayken (yani veritabanı sunucusunda) olabildiğince süzmek, gruplamak ve sadece analiz için gerekli olan alt kümeyi çekmektir.

Bu bağlamda WHERE, GROUP BY ve HAVING ifadelerini etkin kullanmak büyük fark yaratır.

2. İlişkisel Güç: JOIN Operasyonları

Veritabanlarında veri, normalize edilmiş yapılarda farklı tablolarda tutulur. Müşteri bilgileri ayrı, siparişler ayrı, ödemeler ise ayrı bir tablodadır. Bu tabloları birleştirmek için INNER JOIN, LEFT JOIN gibi birleştirme operasyonlarını kullanırız. Ancak join işlemleri işlemci (CPU) ve bellek açısından en maliyetli işlemlerdir.

Sorgularımızın hızlı çalışması için birleştirilen kolonların indekslenmiş (Indexed) olması ve gereksiz tabloların sorguya dahil edilmemesi kritik önem taşır.

3. Sorgu Performansını Artırma (Optimizasyon İpuçları)

Sorgularınızın saniyeler içinde sonuç vermesini sağlayacak birkaç altın kural:

  • SELECT * Kullanmaktan Kaçının: Sadece ihtiyacınız olan sütunları açıkça belirtin (Örn: SELECT musteri_id, siparis_tarihi). Bu, gereksiz veri aktarımını engeller.
  • Alt Sorguları (Subqueries) Optimize Edin: Bazı durumlarda alt sorgular yerine WITH (Common Table Expressions - CTE) kullanmak sorgunun okunabilirliğini artırdığı gibi veritabanı motorunun sorgu planını daha iyi optimize etmesini sağlar.
  • Dizinlerden (Indexes) Yararlanın: Sık arama ve birleştirme yapılan kolonlara indeks tanımlanması, tam tablo taramasını (Sequential Scan) önleyerek disk okuma maliyetini ve sorgu sürelerini dramatik biçimde düşürür.

Sonuç

SQL, sadece basit bir veri çekme aracı değil; veri analitiğinin kalbidir. Etkili ve optimize edilmiş SQL sorguları yazabilmek, sizi veri bilimi alanında bir adım öne geçirecektir. Veriyi sevmek, onun depolandığı veritabanı sistemlerini ve SQL dilini iyi tanımakla başlar.

KAYNAKLAR & VERİ KÜMELERİ

SONRAKİ ARAŞTIRMA NOTU / 001

...

...

→