ORM mi ham SQL mi tartışmasını nasıl bitirdik
Sonunda bir orta yol karar verdik, belki işinize yarar:
Basit okuma ve yazma işleri, yani tek tablodan id ile çekme, kayıt ekleme, güncelleme ORM ile yapılıyor. Bunlar kodun yüzde 80'i.
Raporlama ve birden fazla tabloyu birleştiren ağır sorgular ayrı bir klasörde ham SQL olarak duruyor. Her birinin yanına yorum olarak hangi indeksleri kullandığını yazıyoruz.
Geliştirme ortamında ORM'nin ürettiği sorgular loglanıyor, kod incelemesinde 'bu sayfa kaç sorgu atıyor' sorusu artık rutin. N+1 sorununu iki kere bu sayede yakaladık.
Migration için ORM'nin aracını kullanıyoruz ama üretilen dosyayı elle okuyup onaylamak zorunlu.
Tartışmanın bittiği an aslında teknik değildi. Ekipten biri 'altı ay sonra bu kodu okuyacak kişi kim, ona göre seçelim' dedi. Yeni gelecek biri ORM'yi daha hızlı okur, ağır sorgunun ise SQL olarak durması daha anlaşılır.
Sizde ne var? Tamamen ORM ya da tamamen SQL ile ilerleyip pişman olan var mı?



@endof