MySQL İndeksleri ile Sorgu Hızlandırma
MySQL İndeksleri ile Sorgu Hızlandırma, Web Geliştirme alanında sıkça karşılaşılan ve doğru uygulandığında fark yaratan konulardan biri. Bu yazı konuyu 4 temel noktada ele alıyor, çalışan bir SQL örneği üzerinden ilerliyor, sonunda da uygulamada nelere dikkat edilmesi gerektiğini…
MySQL İndeksleri ile Sorgu Hızlandırma, Web Geliştirme alanında sıkça karşılaşılan ve doğru uygulandığında fark yaratan konulardan biri. Bu yazı konuyu 4 temel noktada ele alıyor, çalışan bir SQL örneği üzerinden ilerliyor, sonunda da uygulamada nelere dikkat edilmesi gerektiğini özetliyor.
Konuya genel bakış
Konunun özünde şu başlıklar yer alıyor: Bileşik indeks sırası, EXPLAIN, Seçicilik ve Yazma maliyeti. Bu başlıkları ayrı ayrı ele almak, her parçanın hangi sorunu çözdüğünü görmeyi kolaylaştırır.
Kritik noktalar
- Bileşik indeks sırası: WHERE eşitliğinde kullanılan sütun önce, sıralama sütunu sonra gelir.
- EXPLAIN: type, key ve rows sütunları sorgunun indeksi kullanıp kullanmadığını gösterir.
- Seçicilik: Az sayıda farklı değeri olan sütunlarda tek başına indeks çoğu zaman fayda sağlamaz.
- Yazma maliyeti: Her indeks INSERT ve UPDATE işlemlerini bir miktar yavaşlatır; gereksiz indeks eklemeyin.
Uygulamalı örnek
Teoriyi somutlaştırmak için kısa bir SQL örneğine bakalım:
-- Sık kullanılan filtre ve sıralama için bileşik indeks
CREATE INDEX idx_siparis_musteri_tarih ON siparisler (musteri_id, olusturuldu);
-- Sorgunun indeksi kullanıp kullanmadığını görün
EXPLAIN SELECT id, tutar FROM siparisler
WHERE musteri_id = 42
ORDER BY olusturuldu DESC
LIMIT 20;Kodu doğrudan kopyalamak yerine her satırın ne yaptığını anlayarak uyarlamanız, ileride çıkacak hataları çözmeyi kolaylaştırır.
Toplu UPDATE ve DELETE işlemlerini önce aynı WHERE koşuluyla bir SELECT çalıştırarak doğrulayın.
Size ne kazandırır?
Kısaca özetlemek gerekirse:
- Bakımı kolay ve okunur bir kod tabanı sağlar
- Farklı cihaz ve tarayıcılarda tutarlı sonuç verir
- Ekip içinde ortak bir uygulama standardı oluşturur
- Sayfa performansını ve kullanıcı deneyimini iyileştirir
Son söz
MySQL İndeksleri ile Sorgu Hızlandırma konusunda ele aldığımız 4 nokta, günlük çalışmada en sık ihtiyaç duyulan kısmı kapsıyor. Özellikle Bileşik indeks sırası ve Yazma maliyeti başlıklarını uygulamaya geçirmek iyi bir başlangıç olur.
İlgili içerikler:
- JavaScript Fetch API ve async/await ile Veri Çekme
- PHP ile Güvenli Oturum Yönetimi: 7 Altın Kural
- Tailwind CSS ile Titreşimsiz Dark Mode
Daha fazla uygulamalı içerik için Akademi derslerine ve blog yazılarına göz atabilirsiniz.
Yazar
Ferdi Giden @adminPHP, MySQL ve Tailwind ile kurumsal yazılımlar geliştiriyor; FerdiSoft çatısı altında ERP, WMS ve SaaS çözümleri üretiyor.