Junior — Middle
Vai ir iespējams izveidot sastāvdaļu indeksu vairākām kolonnām datu bāzē?
sobes.tech AI
Atbilde no AI
Jā, lielākajā daļā datu bāzu pārvaldības sistēmu ir iespējams izveidot sarežģītu indeksu (composite index) vairākām kolonnām. Šāds indekss paātrina vaicājumus, kas filtrē vai kārto datus pēc šo kolonu kombinācijas.
Go valodā, strādājot ar datu bāzēm, parasti tiek izmantots SQL vaicājums indeksa izveidei. Piemēram, PostgreSQL:
CREATE INDEX idx_name ON table_name (column1, column2);
Ja izmantojat ORM vai bibliotēku darbam ar datu bāzēm Go valodā, piemēram, GORM, sarežģīta indeksa izveide var izskatīties šādi:
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"`
}
// Migrācijas laikā GORM izveidos sarežģītu indeksu idx_name uz FirstName un LastName
Tādējādi sarežģīts indekss palīdz optimizēt vaicājumus, kas izmanto vairākas kolonnas WHERE vai ORDER BY nosacījumos.