ADNAN ŞAHİN

A quest for software excellence...

Store Procedure’lerle Çalışmak

Stored Procedure’ler , bir çok gelişmiş programlama dilindeki fonksiyon yapılarına karşılık gelir. Birden fazla işlemi, paketlenmiş bir halde bir tek komut ile çalıştırmamız gerektiğinde stored procedures kullanılır. Stored Procedure’lerin en büyük özelliği sorguların önceden hazırlanması (derlenmesi) ve veritabanı yönetim sistemi ile aynı uzayda çalışmasından dolayı daha hızlı sonuç vermesidir. Bir Stored Procedure oluşturulduktan sonra ,veritabanı sunucusunda saklanır. Her ihtiyaç duyulduğunda aynı sp defalarca çağrılabilir.

 

Stored Procedure’lerin performans açısından ne sağladığını anlamak için kodlandıktan sonra çalışıncaya kadar hangi aşamalardan geçtiğini ve sonraki çalıştırılmasında nasıl bir yol izleyerek sonuc ürettiğini bilmek gerekir. Bir Stored Procedure oluşturulduktan sonraki ilk çalıştırılmasında şu aşamalara tabi tutulur. (Bu aşamalar , bir sorgunun da geçtiği aşamalardır. Bu aşamalar Ayrıştırma(Parsing) ,Derleme(Compiling) ve Çalıştırma(Executing) aşamalarıdır. Ancak Stored Procedure normal şartlarda çalıştırılırken, aynı aşamaları takip etmez. Çünkü derleme işleminden sonra çalıştırma  planı ,Prosedür Hafızası (procedure cash) denilen bir hafızada saklanır. Takip eden çağırma istekleri ,prosedür hafızasındaki çalıştırma planı olarak cevaplanır ve ilk iki aşama atlandığı için normal şartlarda daha hızlı neticeye ulaşılır. Bir script bloğu çalıştırmaya göre stored procedure çalıştırmayı avantajlı kılan nokta burasıdır.