Sobes.tech
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)
}