8-amaliy mashg’ulot: Indekslarni yaratish va ulardan foydalanish.
Reja:
Indekslarni yaratishning ikkita usulini taqqoslash.
Indekslarni ishlatish bo'yicha ba'zi ko'rsatmalar:
Tayanch iboralar: indekslar; kompozit indeks; noyob indek; klasterli indeks;
Indekslar SQL Serverga ma'lumotlarni topishga yordam beradi. Ular SQL Serverga jadval ma'lumotlari qayerda ekanligini aytib, ma'lumotni tanlashni tezlashtiradilar. Bitta jadvalda bir nechta indekslar bo'lishi mumkin.
Indekslar foydalanuvchiga to'g'ridan-to'g'ri kirib bo'lmaydi, chunki SQL so'rovda indeksni aniq ko'rsatib berolmaydi. Foydalanuvchi faqat jadval indeksini yaratishi yoki tashlab yuborishi mumkin va SQL Server jadvalni so'rashda undan qanday foydalanishni hal qiladi. Jadvaldagi ma'lumotlar o'zgarganda, SQL Server indeksni o'zgarishni aks ettirishi uchun o'zgartirishi mumkin. Shunga qaramay, bu foydalanuvchi aralashuvisiz avtomatik ravishda sodir bo'ladi.
SQL Server quyidagi indeks turlarini qo'llab-quvvatlaydi:
Kompozit (murakkab) indekslar - bir nechta jadval ustunlaridan iborat. Ushbu indekslar bir nechta ustunlardagi ma'lumotlar mantiqiy bog'liq bo'lgan hollarda ishlatiladi;
Noyob indekslar - ko'rsatilgan ustunlarda takroriy qiymatlardan foydalanishni taqiqlash. SQL Server bunday indeks yaratilganda takrorlanadigan qiymatlarni tekshiradi (agar jadvalda ma'lumotlar mavjud bo'lsa) va ma'lumotlar har o'zgartirilganida tekshirishni takrorlaydi;
Klasterli va klasterlanmagan indekslar - ma'lumotlarning jismoniy va mantiqiy joylashuvini bog'lash imkonini beradi. Klasterlangan indeks yordamida stol ustidagi jadvallarning jismoniy joylashuvi ularning mantiqiy (indekslangan) joylashishiga mos keladi. Jadvalda faqat bitta klasterli indeks bo'lishi mumkin. Yig’ilmagan indeks bu moslikni ta'minlamaydi va ma'lumotlar har qanday tartibda bo'lishi mumkin.
Ushbu bobda yuqorida keltirilgan indekslarning turlari batafsil ko'rib chiqiladi.
Indekslarni yaratishning ikkita usulini taqqoslash
Siz jadval indeksini yaratuvchisi indeksidan foydalangan holda yoki yaratilish jadvalining bayonotida noyob yoki asosiy kalit sifatida yaxlitlikni cheklashni belgilash orqali yaratishingiz mumkin. Biroq, ikkinchi usul quyidagi cheklovlarga ega.
Noyob bo'lmagan maydonlarda indekslar yaratishga imkon bermaydi;
· Indeks qanday ishlatilishini ko'rsatadigan yaratuvchi indeks buyrug'ida berilgan parametrlardan foydalanishni oldini oladi;
· Ushbu indekslarni faqat kalitlar bilan birga tub jadval jadvalidan chiqarib tashlash mumkin.
Agar ushbu cheklovlar foydalanuvchi foydalanadigan dastur uchun og'ir bo'lsa, u holda indekslar yaratuvchisi indekslari bilan tuzilishi kerak. Aks holda, siz noyob yoki asosiy kalitdan foydalanishingiz kerak, chunki bu indeksni jadvalga bog'lashning eng oson usuli. Noyob va bosh kalitlar haqida ko'proq ma'lumot olish uchun "Ma'lumotlar bazalari va jadvallarni yaratish" 7-bobga qarang.
Indekslardan foydalanish bo'yicha ko'rsatmalar
Indekslar ma'lumot olishni tezlashtiradi. Odatda jadval ustunida indeks mavjudligi so'rovga javob vaqtining sezilarli o'zgarishiga olib keladi, qachonki kutish o'rniga javob deyarli darhol paydo bo'ladi.
Xo'sh, savol nima uchun har bir ustunga indeksni bog'lab qo'ymaslik kerak? Buning sababi, indeks yaratish vaqt va xotira talab qiladi.
Masalan, klasterli indeksni bekor qilish avtomatik ravishda ajratilmagan indeksni yaratadi.
Ikkinchi sabab, indekslanmagan ustunlarga qaraganda indekslangan ustunlardagi ma'lumotlarni yangilash uchun biroz ko'proq vaqt talab etiladi. Ammo odatda indeks mavjudligi sababli modifikatsiyaning sekinlashishi ma'lumotni olishda uni tejash vaqtidan ancha past bo'ladi.
Do'stlaringiz bilan baham: |