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