Sobes.tech
Junior — Middle

Verilənlər bazasında bir neçə sütun üzrə tərkib indeksi yaratmaq mümkündürmü?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, əksər verilənlər bazası idarəetmə sistemlərində çoxsətirli indeks (composite index) yaratmaq mümkündür. Belə indeks, bu sütunların birləşməsinə görə məlumatları filtrləyən və ya sıralayan sorğuları sürətləndirir.

Go-da, verilənlər bazası ilə işləyərkən, adətən, indeks yaratmaq üçün SQL sorğusu istifadə olunur. Məsələn, PostgreSQL üçün:

CREATE INDEX idx_name ON table_name (column1, column2);

Əgər Go-da ORM və ya verilənlər bazası ilə işləmək üçün kitabxana istifadə edirsinizsə, məsələn, GORM, çoxsətirli indeks yaratmaq belə görünə bilər:

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

// Miqrasiya zamanı GORM, FirstName və LastName üzərində çoxsətirli indeks olan idx_name yaradacaq

Beləliklə, çoxsətirli indeks, WHERE və ya ORDER BY şərtlərində bir neçə sütunu istifadə edən sorğuları optimallaşdırmağa kömək edir.