Yazılan sql sorgularının çalıştırılması sırasında her seferinde sql metni analizden geçirilip derlenir.
Örneğin;
select * from uyeler where uyeler.no = 1;
select * from uyeler where uyeler.no = 2;
select * from uyeler where uyeler.no = 3;
bu üç sorguyu çalıştırdığınız zaman sql motoru bu sorguları ayrı ayrı derlemek zorundadır. Yoğun çalışan bir uygulamada bu performans sorunlarından birisidir. Bence etkisi çok azdır ama yine de performansı yavaşlatır. Bu durumda sorgunun sadece değişen yerleri için bir değişken sorguya bağlanabilir. yani
select * from uyeler where uyeler.no = :no
dediğimiz zaman :no dışarıdan verilecek bir değişken olduğu için sürekli yeniden derlenmek zorunda kalmaz. Bunu programlama dilleri tarafında prepared statement kullanarak yapabiliriz. Veri tabanı kendi hafızasına no değişebilir olarak işaretleyecek ve hazır derlenmiş kodu sürekli kullanacak.