Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
21 gösterim
Oracle'da sıkça duyulan bind variable (bağlı değişken) nedir?  normal değişkenden farkı var mıdır?
Veri Tabanı kategorisinde (570 puan) sordu

1 cevap

0 oy
 
En İyi Cevap
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.
(3.3k puan) cevapladı
seçti

İlgili sorular

0 oy
1 cevap 48 gösterim
48 gösterim 26 Eylül 2016 Veri Tabanı kategorisinde tolga (1.7k puan) sordu
0 oy
2 cevap 63 gösterim
63 gösterim 29 Ağustos 2016 Veri Tabanı kategorisinde tolga (1.7k puan) sordu
0 oy
1 cevap 13 gösterim
+1 oy
1 cevap 22 gösterim
...