Sobes.tech
Junior — Middle

Възможно ли е да се създаде съставен индекс върху няколко колони в база данни?

sobes.tech AI

Отговор от AI

Да, в повечето системи за управление на бази данни е възможно да се създаде съставен индекс (composite index) върху няколко колони. Този индекс ускорява заявките, които филтрират или сортират данните по комбинацията от тези колони.

В Go, при работа с бази данни, обикновено се използва SQL заявка за създаване на индекс. Например, за PostgreSQL:

CREATE INDEX idx_name ON table_name (column1, column2);

Ако използвате ORM или библиотека за работа с бази данни в Go, като GORM, създаването на съставен индекс може да изглежда така:

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

// При миграция GORM ще създаде съставен индекс idx_name върху FirstName и LastName

По този начин, съставеният индекс помага за оптимизиране на заявките, които използват няколко колони в условията WHERE или ORDER BY.