Middle
რა არის მომზადებული შეკითხვები (prepared statements)?
sobes.tech AI
პასუხი AI-სგან
მომზადებული შეკითხვები (prepared statements) არის მექანიზმი მონაცემთა ბაზებთან მუშაობისთვის, სადაც SQL შეკითხვა ერთჯერად იწერება და ოპტიმიზირებულია, ხოლო შემდეგ მრავალჯერ შეიძლება შესრულდეს სხვადასხვა პარამეტრებით.
უპირატესობები:
- ზედმეტად მაღალი შესრულების სიჩქარე იგივე შეკითხვების განმეორებითი გამოძახებისას.
- უსაფრთხოება — დაცვა SQL ინექციებისგან, რადგან პარამეტრები გადაეცემა ცალკე შეკითხვის ტექსტიდან.
- საყვარლობა — პარამეტრები ავტომატურად ივსება, არ არის საჭირო მნიშვნელობების ხელით გადახაზვა.
Go-ში, მომზადებული შეკითხვა შექმნილია *sql.DB ან *sql.Tx ობიექტის Prepare მეთოდით:
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)
ამ გზით, შეკითხვა ერთჯერად იწერება, და შემდეგ შეიძლება მრავალჯერ გამოძახება სხვადასხვა პარამეტრებით.