Sobes.tech
Middle

Ako často ste museli zahĺbiť do databáz, písať a optimalizovať dotazy?

sobes.tech AI

Odpoveď od AI

V mojej praxi s Go sem pogosto delal z bazami podatkov, vključno s pisanjem in optimizacijo SQL poizvedb. Običajno uporabljam ORM ali knjižnice, kot je database/sql z gonilniki, vendar za izboljšanje zmogljivosti in natančen nadzor pišem poizvedbe ročno.

Optimizacija vključuje:

  • Uporabo indeksov in analizo načrta izvajanja poizvedb (EXPLAIN).
  • Zmanjšanje števila poizvedb z združevanji (JOIN) in agregacijami.
  • Predpomnjenje pogosto zahtevani podatkov.

Primer preproste poizvedbe z uporabo 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)
}