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)
Мындайча айтканда, суроо бир жолу түзүлүп, андан соң ар кандай параметрлер менен көп жолу чакырылат.