Middle
Kui sageli pidite sukelduma andmebaasidesse, kirjutama ja optimeerima päringuid?
sobes.tech AI
Vastus AI-lt
Minu kogemuses Go-ga olen sageli töötanud andmebaasidega, sealhulgas SQL-küsimuste kirjutamise ja optimeerimisega. Tavaliselt kasutan ORM-i või raamatukogusid nagu database/sql draiveritega, kuid jõudluse parandamiseks ja täpse kontrolli saavutamiseks kirjutan päringud käsitsi.
Optimeerimine hõlmab:
- indeksite kasutamist ja päringute täitmise plaani analüüsi (EXPLAIN).
- päringute arvu vähendamist JOIN-ide ja agregatsioonide kaudu.
- sageli küsitavate andmete vahemällu salvestamist.
Näide lihtsast päringust database/sql kasutades:
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)
}