Middle
Milyen gyakran kellett mélyen belemerülnie az adatbázisokba, kérdéseket írni és optimalizálni?
sobes.tech MI
Válasz az MI-től
A Go-val való gyakorlataim során gyakran dolgoztam adatbázisokkal, beleértve az SQL-lekérdezések írását és optimalizálását. Általában ORM-et vagy olyan könyvtárakat használok, mint a database/sql driverekkel, de a teljesítmény növelése és pontos kontroll érdekében kézzel írom a lekérdezéseket.
Az optimalizálás magában foglalja:
- Indexek használatát és a lekérdezés végrehajtási tervének elemzését (EXPLAIN).
- A lekérdezések számának minimalizálását JOIN-ok és aggregációk segítségével.
- Gyakran lekérdezett adatok cache-elését.
Egyszerű lekérdezés példája a database/sql használatával:
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)
}