Klaster va klaster bo'lmagan indeks o'rtasidagi farq

Klaster va klaster bo'lmagan indeks o'rtasidagi farq
Klaster va klaster bo'lmagan indeks o'rtasidagi farq

Video: Klaster va klaster bo'lmagan indeks o'rtasidagi farq

Video: Klaster va klaster bo'lmagan indeks o'rtasidagi farq
Video: Что такое SQL ИНДЕКСЫ за 10 минут: Объяснение с примерами 2024, Iyul
Anonim

Klaster va klaster bo'lmagan indeks

Indekslar har qanday ma'lumotlar bazasida juda muhim. Ular jadvallardan ma'lumotlarni olish samaradorligini oshirish uchun ishlatiladi. Ular bog'langan jadvallardagi ma'lumotlardan mantiqiy va jismoniy jihatdan mustaqildir. Shuning uchun indekslarni asosiy jadvallar ma'lumotlariga ta'sir qilmasdan tushirish, qayta yaratish va qayta qurish mumkin. Oracle serveri tegishli jadvallar kiritilganda, yangilanganda va o'chirilganda DBA ishtirokisiz avtomatik ravishda indekslarini saqlab qolishi mumkin. Bir nechta indeks turlari mavjud. Mana, ulardan ba'zilari.

1. B-daraxt indekslari

2. Bitmap indekslari

3. Funktsiyaga asoslangan indekslar

4. Teskari kalitli indekslar

5. B-daraxt klaster indekslari

Klaster bo'lmagan indeks nima?

Yuqoridagi indeks turlaridan quyida klasterlanmagan indekslar keltirilgan.

• B-daraxt indeksi

• Bitmap indeksi

• Funksiyaga asoslangan indeks

• Teskari kalit indekslari

B-daraxt indekslari ma'lumotlar bazalarining eng ko'p qo'llaniladigan indeks turidir. Agar ma'lumotlar bazasida CREATE INDEX buyrug'i turni ko'rsatmasdan berilsa, Oracle serveri b-daraxt indeksini yaratadi. Muayyan ustunda b-daraxt indeksi yaratilganda, oracle server ustun qiymatlarini saqlaydi va jadvalning haqiqiy qatoriga havolani saqlaydi.

Bitmap indekslari ustun ma'lumotlari unchalik tanlanmagan holda yaratiladi. Bu shuni anglatadiki, ustun ma'lumotlari past kardinallikka ega. Bular maxsus maʼlumotlar omborlari uchun moʻljallangan va yuqori darajada yangilanadigan yoki tranzaksiyaviy jadvallarda bitmap indekslarini ishlatish yaxshi emas.

Funktsional indekslar Oracle 8i'dan keladi. Bu erda indekslangan ustunda funksiya ishlatiladi. Shuning uchun, funktsional indeksda ustun ma'lumotlari odatdagi tarzda tartiblanmaydi. Funktsiyani qo'llaganidan keyin ustunlar qiymatlarini tartiblaydi. Tanlangan soʻrovning WHERE yopilishi funksiyadan foydalanilganda bular juda foydali.

Teskari kalitli indekslar juda qiziq indeks turi. Faraz qilaylik, ustunda "cityA", "cityB", "cityC" va boshqalar kabi noyob qator ma'lumotlari mavjud. Barcha qiymatlar naqshga ega. Dastlabki to'rtta belgi bir xil va keyingi qismlar o'zgartiriladi. Shunday qilib, bu ustunda REVERSE kalit indeksi yaratilganda, Oracle satrni teskarisiga aylantiradi va uni b-daraxt indeksida tiklaydi.

Yuqorida qayd etilgan indeks turlari KLASTER BO'LMAGAN indekslardir. Bu shuni anglatadiki, indekslangan ma'lumotlar jadvaldan tashqarida saqlanadi va jadvalga saralangan havola saqlanadi.

Klasterli indeks nima?

Klasterli indekslar indekslarning maxsus turidir. Jadval ma'lumotlarini jismoniy saqlash usuliga ko'ra ma'lumotlarni saqlaydi. Shunday qilib, bitta jadval uchun bir nechta klaster indekslari bo'lishi mumkin emas. Bitta jadvalda faqat bitta klasterli indeks bo‘lishi mumkin.

Klasterli va klasterli bo'lmagan indekslar o'rtasidagi farq nima?

1. Jadvalda faqat bitta klasterli indeks boʻlishi mumkin, lekin bitta jadvalda 249 tagacha klasterli boʻlmagan indeks boʻlishi mumkin.

2. Birlamchi kalit yaratilganda klasterli indeks avtomatik tarzda yaratiladi, lekin noyob kalit yaratilganda klasterli indeks yaratiladi.

3. Klasterlangan indeksning mantiqiy tartibi jadval ma'lumotlarining jismoniy tartibiga mos keladi, lekin klasterli bo'lmagan indekslarda u mos kelmaydi.

Tavsiya: