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)
Այս կերպ, հարցումը մեկ անգամ կոմպիլացվում է, և հետո կարող է բազմիցս կանչվել տարբեր պարամետրերով։