Application tarafında hata ayıklaması sql tarafında göre daha kolaydır. Tablolarının yapılarının application tarafında implement edilmesi, crud işlemlerinde uygun nesnelerin oluşturulması, bunların kontrolleri çok daha kolaydır ve sql meşgul edilmeden bu gibi hatalar önlenir ve veritabanı kullanılmamış olur.
Sql tarafında insert işleminde bir hata olduğunu ve bunu query'i execute edip kullanıcıya geri döndürdüğünü düşün. Kullanıcı hatayı düzeltip tekrar gönderdiğinde 2 kere sql'i meşgul etmiş olacak ve bu sorguyu 10larca veya 100lerce kişinin çalıştırdığını düşün. Sorgu cevap zamanların artabilir, deadlock'lar oluşabilir ve belkide bazı sorgular hiç cevap vermeyecek ve boş yere log dosyan büyüyecek. Kısaca sistem kaynaklarını daha fazla kullanmış olacaksın, bu da maliyet demektir.

Döngüler için çok fazla söyleyecek birşeyim yok, recursive (cte), cursor gibi döngüler kullandım fakat çok ciddi performans sorunu yaşamadım.

Diğer taraftan güvenliği de düşünmek gerekir. Xss, csrf, sql injection gibi saldırıları sql validation'larla engellemek çok daha zor ve büyük risk taşır.

Bu nedenlerden ötürü sql tarafında minimum işlemlerin yapılması önerilir, database migration işlemleri daha kolay ve hızlı olur, yazılan kod daha efektif olur.