Stored Procedure Nedir?
İngilizce: Stored Procedure
Stored procedure, veritabanında saklanan ve parametreyle çağrılan SQL bloğudur; tekrarlanan işlemleri veri katmanında tutar.
Stored Procedure Nedir?
Stored procedure, veritabanı içinde saklanan ve uygulama tarafından adıyla çağrılan SQL komut bloğudur. Parametre alabilir, koşul ve döngü içerebilir, transaction başlatabilir ve sonuç kümesi döndürebilir. Böylece sık tekrarlanan veri işlemleri tek bir yerde tanımlanır.
Örneğin ay sonu komisyon hesaplama, sipariş kapatma, stok rezervasyonu veya rapor özet tablosu üretme işlemi stored procedure olarak yazılabilir. Uygulama aynı SQL adımlarını her yerde tekrar etmek yerine CALL veya benzeri bir komutla veritabanındaki prosedürü çalıştırır.
Avantaj ve Sınırlar
SQL işlemlerinin veriye yakın çalışması performans ve transaction tutarlılığı sağlayabilir. Ayrıca bazı kurumlarda veritabanı yetkileri prosedür üzerinden sınırlandırılarak uygulamanın doğrudan tablo erişimi azaltılır.
Diğer yandan stored procedure yoğun kullanıldığında iş mantığı uygulama kodu ile veritabanı arasında dağılabilir. Test, versiyonlama ve veritabanı değişikliği süreçleri net değilse bakım zorlaşır. ORM kullanan projelerde hangi kuralların uygulama katmanında, hangilerinin veritabanında kalacağı baştan kararlaştırılmalıdır.
İlgili Terimler
ORM, veritabanı tablolarını nesne olarak temsil eden; SQL yazmadan veritabanı işlemi yapılmasını sağlayan kütüphaneler bütünüdür.
Sorgu Optimizasyonu (Query Optimization)Sorgu optimizasyonu, SQL sorgularını daha az okuma, doğru indeks ve uygun yürütme planıyla hızlandırma sürecidir.
SQLSQL, ilişkisel veritabanlarında tabloları sorgulamak, değiştirmek ve raporlamak için kullanılan standart veri işleme dilidir.