Sobes.tech
Junior — Middle

Ma'lumotlar bazasida bir nechta ustunlar bo'yicha birikma indeksini yaratish mumkinmi?

sobes.tech AI

AIdan javob

Ha, ko'pchilik ma'lumotlar bazasi boshqaruv tizimlarida bir nechta ustunlar bo'yicha birikma indeksini (composite index) yaratish mumkin. Bu indeks, ushbu ustunlarning kombinatsiyasiga asoslangan so'rovlarni tezlashtiradi.

Go tilida, ma'lumotlar bazasi bilan ishlashda, odatda, indeks yaratish uchun SQL so'rovi ishlatiladi. Masalan, PostgreSQL uchun:

CREATE INDEX idx_name ON table_name (column1, column2);

Agar siz Go'da ORM yoki ma'lumotlar bazasi bilan ishlash uchun kutubxonadan foydalanayotgan bo'lsangiz, masalan, GORM, birikma indeksini yaratish quyidagicha bo'lishi mumkin:

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

// Migratsiya davomida, GORM FirstName va LastName bo'yicha birikma indeksini, ya'ni idx_name ni yaratadi

Shu tarzda, birikma indeksi, WHERE yoki ORDER BY shartlarida bir nechta ustunni ishlatadigan so'rovlarni optimallashtirishga yordam beradi.