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)
}