Middle
Jak často jste musel proniknout do databází, psát a optimalizovat dotazy?
sobes.tech AI
Odpověď od AI
V mé své praxi s Go jsem často pracoval s databázemi, včetně psaní a optimalizace SQL dotazů. Obvykle používám ORM nebo knihovny jako database/sql s ovladači, ale pro zvýšení výkonu a přesnou kontrolu píši dotazy ručně.
Optimalizace zahrnuje:
- Použití indexů a analýzu plánu provádění dotazů (EXPLAIN).
- Minimalizaci počtu dotazů pomocí spojení (JOIN) a agregací.
- Ukládání často požadovaných dat do cache.
Příklad jednoduchého dotazu s použitím database/sql:
rows, err := db.Query("SELECT id, name FROM users WHERE active = ?", true)
if err != nil {
log.Fatal(err)
}
for rows.Next() {
var id int
var name string
err := rows.Scan(&id, &name)
if err != nil {
log.Fatal(err)
}
fmt.Println(id, name)
}