Junior — Middle
Ar įmanoma sukurti sudėtą indeksą keliems stulpeliams duomenų bazėje?
sobes.tech AI
Atsakymas iš AI
Taip, daugelyje duomenų bazių valdymo sistemų galima sukurti sudėtinius indeksus (composite index) keliems stulpeliams. Šis indeksas pagreitina užklausas, kurios filtruojamos arba rūšiuojamos pagal šių stulpelių kombinaciją.
Go kalboje, dirbant su duomenų bazėmis, dažnai naudojama SQL užklausa indeksui sukurti. Pavyzdžiui, PostgreSQL:
CREATE INDEX idx_name ON table_name (column1, column2);
Jei naudojate ORM arba biblioteką darbui su duomenų bazėmis Go kalboje, pvz., GORM, sudėtinio indekso kūrimas gali atrodyti taip:
import (
"gorm.io/gorm"
)
type User struct {
ID uint
FirstName string `gorm:"index:idx_name,priority:1"`
LastName string `gorm:"index:idx_name,priority:2"`
}
// Migracijos metu GORM sukurs sudėtinį indeksą idx_name, kuris apims FirstName ir LastName
Šiuo būdu sudėtinis indeksas padeda optimizuoti užklausas, kurios naudoja kelis stulpelius WHERE arba ORDER BY sąlygose.