Kategoriler
MySQL

MySQL WHERE Koşulları Sırası: 1 Milyon Satırda 100 Kat Performans Farkı!

“is_active = 1 mi önce, yoksa UPPER(bio) LIKE ‘%FREELANCER%’ mi?
Bu sıradışı karar, 0.3 saniye yerine 30 saniye harcatabilir!

Bu makalede, MySQL sorgu optimizasyon motorunun (query optimizer) sınırlarını zorlayan boolean, int, JSON, TEXT gibi dağınık veri tipleri ile ölçülebilir performans farklarını adım adım açıklıyoruz.

Kategoriler
MySQL

MySQL’de Kral Katili: N+1 Sorgu Problemini Çözmek

Buz ve Ateşin Şarkısı evreninden bir ders alalım: “Chaos is a ladder…” yani “Kaos bir merdivendir.” Ancak bu kural MySQL sorgularına kesinlikle uymaz! Aksine, sorgularınızda kaosa yer verirseniz, performansınız bir uçurumdan aşağı yuvarlanabilir. İşte karşınızda, veri tabanı performansını sinsice öldüren N+1 Sorgu Problemi ve onun hikayesi!