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.