Middle
Cosa sono le query preparate (prepared statements)?
sobes.tech AI
Risposta dell'AI
Le query preparate sono un meccanismo per lavorare con i database, in cui la query SQL viene compilata e ottimizzata una sola volta, e poi può essere eseguita più volte con parametri diversi.
Vantaggi:
- Aumento delle prestazioni nelle chiamate ripetute alla stessa query.
- Sicurezza — protezione contro le injection SQL, poiché i parametri vengono passati separatamente dal testo della query.
- Comodità — i parametri vengono inseriti automaticamente, senza doverli sfuggire manualmente.
In Go, la query preparata viene creata tramite il metodo Prepare dell'oggetto *sql.DB o *sql.Tx:
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)
In questo modo, la query viene compilata una sola volta, e poi può essere chiamata più volte con parametri diversi.