Middle
Hazırlanmış ifadeler (prepared statements) nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Hazırlanmış sorgular, veritabanlarıyla çalışma mekanizmasıdır; bu yöntemde SQL sorgusu bir kez derlenir ve optimize edilir, ardından farklı parametrelerle çok kez çalıştırılabilir.
Avantajlar:
- Yüksek performans aynı sorgunun tekrar tekrar çağrılmasında.
- Güvenlik — SQL enjeksiyonlarına karşı koruma sağlar, çünkü parametreler sorgu metninden ayrı iletilir.
- Kullanım kolaylığı — parametreler otomatik olarak yerleştirilir, değerleri manuel olarak kaçış gerekmez.
Go'da, hazırlanan sorgu *sql.DB veya *sql.Tx nesnesinin Prepare yöntemiyle oluşturulur:
stmt, err := db.Prepare("SELECT name FROM users WHERE id = ?")
if err != nil {
log.Fatal(err)
}
defer stmt.Close()
var name string
err = stmt.QueryRow(1).Scan(&name)
if err != nil {
log.Fatal(err)
}
fmt.Println(name)
Bu şekilde, sorgu bir kez derlenir ve farklı parametrelerle tekrar tekrar çağrılabilir.