Junior — Middle
Lehetséges összetett indexet létrehozni több oszlopon egy adatbázisban?
sobes.tech MI
Válasz az MI-től
Igen, a legtöbb adatbázis-kezelő rendszerben lehetőség van összetett index (composite index) létrehozására több oszlopon. Ez az index gyorsítja azokat a lekérdezéseket, amelyek szűrik vagy rendezik az adatokat ezeknek az oszlopoknak a kombinációja szerint.
Go-ban, adatbázisokkal való munkavégzés során általában SQL lekérdezést használnak index létrehozására. Például PostgreSQL esetén:
CREATE INDEX idx_name ON table_name (column1, column2);
Ha ORM-et vagy könyvtárat használ Go-ban az adatbázisok kezelésére, például GORM-ot, akkor az összetett index létrehozása így nézhet ki:
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"`
}
// A migráció során a GORM létrehoz egy összetett indexet, az idx_name-t, a FirstName és LastName oszlopokon
Ezáltal az összetett index segít optimalizálni azokat a lekérdezéseket, amelyek több oszlopot használnak a WHERE vagy ORDER BY feltételekben.