Sobes.tech
Junior — Middle

Este posibil să creați un index compus pe mai multe coloane într-o bază de date?

sobes.tech AI

Răspuns de la AI

Da, în majoritatea sistemelor de gestionare a bazelor de date, este posibil să creați un index compus (composite index) pe mai multe coloane. Acest index accelerează interogările care filtrează sau sortează datele după combinația acestor coloane.

În Go, lucrând cu bazele de date, se folosește de obicei o interogare SQL pentru a crea un index. De exemplu, pentru PostgreSQL:

CREATE INDEX idx_name ON table_name (column1, column2);

Dacă utilizați un ORM sau o bibliotecă pentru a lucra cu bazele de date în Go, precum GORM, crearea unui index compus poate arăta astfel:

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

// În timpul migrării, GORM va crea un index compus idx_name pe FirstName și LastName

Astfel, un index compus ajută la optimizarea interogărilor care utilizează mai multe coloane în condițiile WHERE sau ORDER BY.