Sobes.tech
Junior — Middle

Kas on võimalik luua mitme veeru koosnevat indeksit andmebaasis?

sobes.tech AI

Vastus AI-lt

Jah, enamikus andmebaasisüsteemides on võimalik luua mitme veeru kombineeritud indeks (composite index). Selline indeks kiirendab päringuid, mis filtreerivad või sorteerivad andmeid nende veergude kombinatsiooni alusel.

Go-s töötades kasutatakse tavaliselt SQL-päringut indeksi loomiseks. Näiteks PostgreSQL jaoks:

CREATE INDEX idx_name ON table_name (column1, column2);

Kui kasutate ORM-i või teeki Go-s andmebaasidega töötamiseks, näiteks GORM-i, siis mitme veeru kombineeritud indeksi loomine võib välja näha selline:

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"`
}

// Migrate'i ajal loob GORM mitme veeru kombineeritud indeksi, nimega idx_name, FirstName ja LastName peale

Selline indeks aitab optimeerida päringuid, mis kasutavad mitut veergu WHERE või ORDER BY tingimustes.