Sobes.tech
Back to questions
Junior — Middle
84

Возможно ли создать составной индекс по нескольким столбцам в базе данных?

Answer from AI

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