iToverDose/Yazılım· 12 HAZIRAN 2026 · 16:01

SQL sorgusu 2,3 milyon satırda 45 saniyeden 8 saniyeye nasıl hızlandırıldı?

Veritabanınızdaki sorguların yavaşlığından şikayet mi ediyorsunuz? 2,3 milyon satırlık bir SQL Server örneğinde yapılan basit ama etkili değişikliklerle performansı nasıl %82 artırdığınızı anlatıyoruz.

DEV Community2 dk okuma0 Yorumlar

Bir projede SQL Server veritabanında karşılaşılan ve kullanıcıların arayüzlerinde zaman aşımına neden olan yavaş sorgular, veritabanı yöneticilerinin en sık karşılaştığı sorunlardan biridir. Geçtiğimiz haftalarda, 2,3 milyon satır içeren bir veritabanında çalışmaya başlayan bir ekip, bazı kritik sorguların tamamlanmasının 45 saniyeyi bulduğunu fark etti. Bu durum, gerçek zamanlı olarak çalışması gereken panellerin bile yanıt vermemesine yol açıyordu.

Yavaş sorguların kaynağını belirlemek

İlk adım olarak, sorunun kaynağını doğru bir şekilde tespit etmek gerekiyordu. Bunun için SQL Server’ın yerleşik araçlarından biri olan Sorgu Deposu (Query Store) kullanıldı. Bu araç, veritabanındaki tüm sorguların performans metriklerini toplar ve en yavaş çalışan sorguları sıralar. Böylece ekip, iyileştirmeye öncelik verecekleri sorguları kolayca belirleyebildi.

Sorgu Deposu’nun yanı sıra, performans sorunlarının altında yatan nedenleri anlamak için sorguların yürütme planları incelendi. Bu analiz sırasında dikkat çeken iki önemli nokta vardı:

  • - Birçok sorguda eksik indeks uyarıları bulunuyordu.
  • - 2 milyondan fazla satır içeren bir tabloda tam tablo taramaları gerçekleşiyordu.

Bu tespitler, iyileştirme sürecinde hangi alanlara odaklanılması gerektiğini net bir şekilde ortaya koydu.

Hedefli indekslerle performansı artırmak

İyileştirme sürecinde en önemli adımlardan biri, sorguların gerçekten ihtiyaç duyduğu indeksleri eklemekti. Veritabanı yöneticileri, genellikle tüm tablolara mümkün olduğunca çok indeks eklemenin iyi bir uygulama olduğunu düşünür. Ancak bu yaklaşım, hem depolama alanını boşa harcar hem de yazma işlemlerini yavaşlatır.

Bu projede uygulanan strateji ise tamamen farklıydı. Ekip, yalnızca en sık filtrelenen sütunlara odaklanarak sadece iki tane kümelenmemiş indeks oluşturdu. Bu indeksler, sorguların gerçekten performansını artıracak şekilde tasarlandı ve veritabanının genel dengesini bozmadı.

Kritik sorguları yeniden yapılandırmak

Yavaş sorgulardan biri, altı farklı tabloyu birleştiren ve gereksiz yere karmaşık bir yapıya sahip olan bir sorguydu. Sorguda kullanılan CROSS APPLY operatörü, aslında sorgunun performansını olumsuz etkiliyordu. Ekip, bu sorgunun yapısını yeniden düzenleyerek INNER JOIN kullanımına geçti ve filtrelerin doğru sırada uygulanmasını sağladı.

Bu değişiklikler sonucunda sorgunun performansı önemli ölçüde arttı. Ancak iyileştirme süreci henüz tamamlanmamıştı. Veritabanındaki diğer yavaş sorgular da benzer şekilde analiz edildi ve gerekli düzeltmeler yapıldı.

Sonuç: %82’lik bir performans artışı

Tüm bu adımların ardından, sorguların çalışma süresi 45 saniyeden 8 saniyeye düştü. Bu da %82’lik bir performans artışı anlamına geliyordu. Artık kullanıcılar, gerçek zamanlı olarak çalışması gereken panellerde herhangi bir zaman aşımı sorunu yaşamıyordu. Ayrıca, veritabanı yöneticileri de artık daha verimli bir şekilde çalışabiliyorlardı.

Bu deneyimden çıkarılan en önemli ders ise, veritabanı optimizasyonuna başlamadan önce mutlaka hangi sorguların yavaş çalıştığını belirlemek gerektiğidir. Pek çok kişi, optimizasyona başlamadan önce bu adımı atladığı için yanlış alanlara odaklanarak zaman kaybeder. Doğru analiz yapıldığında, küçük değişikliklerle büyük performans iyileştirmeleri elde etmek mümkündür.

Veritabanı performansınızı artırmak için hangi adımları atıyorsunuz? Deneyimlerinizi bizimle paylaşın ve birlikte daha verimli çözümler geliştirelim.

Yapay zeka özeti

2,3 milyon satırlık bir SQL Server veritabanında sorguları 45 saniyeden 8 saniyeye indirmenin yolları. İndeksleme ve sorgulama stratejileriyle performans artışı sağlayın.

Yorumlar

00
YORUM BIRAK
ID #W4ZBWB

0 / 1200 KARAKTER

İnsan doğrulaması

8 + 2 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.