Sobes.tech
Junior — Middle

Je možné vytvoriť zložený index na viacerých stĺpcoch v databáze?

sobes.tech AI

Odpoveď od AI

Áno, vo väčšine systémov správy databáz je možné vytvoriť zložený index (composite index) na viacerých stĺpcoch. Tento index zrýchľuje dotazy, ktoré filtrujú alebo zoradia údaje podľa kombinácie týchto stĺpcov.

V Go, pri práci s databázami, sa zvyčajne používa SQL dotaz na vytvorenie indexu. Napríklad pre PostgreSQL:

CREATE INDEX idx_name ON table_name (column1, column2);

Ak používate ORM alebo knižnicu na prácu s databázami v Go, ako GORM, vytvorenie zloženého indexu môže vyzerať takto:

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

// Po migrácii GORM vytvorí zložený index idx_name na FirstName a LastName

Týmto spôsobom zložený index pomáha optimalizovať dotazy, ktoré používajú viacero stĺpcov v podmienkach WHERE alebo ORDER BY.