Katta jadvalda indeks qanday ishlatiladi?
sobes.tech AI
AIdan javob
Katta jadvalda indeks katta hajmdagi ma'lumotlarni tanlash (SELECT) operatsiyalarini va WHERE sharti bilan indekslangan ustunlar bilan ishlashda (UPDATE, DELETE) o'zgartirish operatsiyalarini sezilarli darajada tezlashtiradi. Indeks bo'lmagan holda, ma'lumotlar bazasi butun jadvalni skanerlashi kerak bo'ladi (to'liq jadval skaneri), bu katta ma'lumotlar hajmida juda sekin bo'ladi.
Indeksdan foydalanilganda, ma'lumotlar bazasi avvalo indeks strukturasiga (odatda B daraxti) murojaat qiladi, bu struktur jadvaldan ancha kichik bo'lib, tartiblangan ma'lumotlar havolalarini o'z ichiga oladi. Kerakli havolalarni indeksda topgach, ma'lumotlar bazasi tezda to'g'ridan-to'g'ri kerakli satrlarga kirish imkoniyatiga ega bo'ladi.
Muhim:
- Indekslar diskda joy egallaydi.
- Indekslarni yaratish va saqlash
INSERTvaUPDATEoperatsiyalari davomida qo'shimcha resurslarni talab qiladi. - Juda ko'p indekslar yoki noto'g'ri tanlangan indekslar yozish operatsiyalarini sekinlashtirishi mumkin.
Ruby on Railsda indeks yaratish misoli:
# 'users' jadvalidagi 'email' ustuni uchun indeks yaratish
add_index :users, :email
# 'username' ustuni uchun yagona indeks yaratish
add_index :users, :username, unique: true
# 'user_id' va 'product_id' ustunlari bo'yicha birikma indeks yaratish
add_index :orders, [:user_id, :product_id]
SQLda indeksdan foydalanish misoli (ma'lumotlar bazasi tomonidan bajariladi):
-- email ustunida indeksdan foydalanadigan so'rov
SELECT * FROM users WHERE email = 'test@example.com';