Sobes.tech
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.