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.