create index nmind
on friends_etc (pname, sname)
Ushbu ro'yxatdagi ustun nomlarining tartibi jadval jadvalini yaratishdagi ushbu ustunlarning tartibidan farq qilishi mumkin. Masalan, oldingi bayonotda pname va sname ustunlari boshqacha tartibda ko'rsatilishi mumkin. SQL Server har doim kompozit indekslarga sezgirlik ustunini avtomatik ravishda oxirgi ustun sifatida qo'shadi.
Noyob variantni ishlatish
Ustun bilan bog'liq noyob indeks nol qiymatni o'z ichiga olgan bir xil qiymatlarning ikkitasini paydo bo'lishiga to'sqinlik qiladi. Bunday holda, tizimning o'zi, bunday indeksni aniqlash paytida, takroriy qiymatlarning yo'qligini tekshiradi, agar jadvalda ba'zi ma'lumotlar mavjud bo'lsa va ma'lumotlar har bir kiritish yoki yangilash bayonoti yangilanganidan keyin takrorlanadigan bo'lsa.
Nolinchi indeksni aniqlash faqat mos keladigan ustundagi ma'lumotlar noyob bo'lgan taqdirdagina ma'qul bo'ladi. Masalan, noyob indeksni familiya (familiya) ustuni bilan bog'lash xato bo'ladi, chunki hatto bir necha yuz qatordan iborat kichik jadvalda ham "Smith" yoki "Wong" kabi bir xil familiyani o'z ichiga olgan ikkita qator bo'lishi mumkin.
Boshqa tomondan, noyob indeksni ijtimoiy xavfsizlik raqamini o'z ichiga olgan ustun bilan bog'lash tavsiya etiladi, chunki bu raqamlar turli odamlar uchun farq qiladi va shuning uchun bu holatda, o'ziga xoslik ma'lumotlarning o'ziga xos xususiyatdir. Bundan tashqari, ma'lumotlarning yaxlitligini tekshirish uchun noyob indeks ishlatiladi. Masalan, ikkita bir xil sug'urta polisining paydo bo'lishi kirish xatosi yoki tegishli davlat idorasining xatosi tufayli yuzaga kelishi mumkin.
Agar foydalanuvchi takroriy qiymatlar mavjud bo'lgan jadval ustunida noyob indeks yaratishga harakat qilsa, tegishli buyruq bekor qilinadi va SQL Server birinchi nusxaning qiymatini ko'rsatuvchi xato xabari beradi. Bundan tashqari, bir nechta satrlari noldan iborat bo'lgan ustunga noyob indeksni bog'lash mumkin emas. Ushbu qiymatlar, shuningdek, indeksatsiya maqsadida takrorlanadigan hisoblanadi.
Agar u bilan bog'liq bo'lgan noyob indeksga ega bo'lgan ustunda ma'lumotlar o'zgarsa, natija ignore_dup_key parametriga bog'liq bo'ladi. Ushbu masala ushbu bobning keyingi qismida batafsil muhokama qilinadi.
Noyob kalit so'z kompozit indekslar bilan ham ishlatilishi mumkin. Ammo friends_etc jadvalidagi kompozit indeksni belgilashda bizning misolimizda foydalanilmaydi.
Noyob bo'lmagan indekslarda hisoblagichlardan foydalanish
Nodir bo'lmagan indeks parametridagi identifikatsiya avtomatik ravishda jadvaldagi barcha indekslardagi hisoblagich ustunini o'z ichiga oladi va shu bilan ularning barchasini noyob qiladi. Ushbu ma'lumotlar bazasi optsiyasi mantiqiy noyob bo'lmagan kalitlarni deyarli noyob qiladi, bu ularni barqaror kursorlarda va 0 darajali izolyatsiya darajasida ishlatishga imkon beradi.
Jadvalda hisoblagich ustuni bo'lishi kerak, u jadvalni yaratish bayonnomasida aniqlanishi kerak yoki ushbu bayonotni bajarishdan oldin avtomatik identifikatsiya qilish opsiyasi yoqilgan bo'lsa avtomatik ravishda qo'shilishi kerak.
Agar foydalanuvchi kursorlar bilan ishlashni yoki nodir bo'lmagan indekslari bilan stolda o'qishni nol darajasida bajarishni xohlasa, odatiy bo'lmagan indeks variantidagi identifikatordan foydalanish kerak. Noyob indeks keyingi kursor (yuk) ushbu kursor bilan bajarilishidan oldin kursorning to'g'ri chiziqda joylashganligini ta'minlaydi.
Fillfaktor va max_rows_per_page parametrlaridan foydalanish
Kamdan kam hollarda, foydalanuvchi tizimning ishlashini sozlashi kerak, bu holda u plagfaktor (zichlik koeffitsienti) va max_rows_per_page (har bir sahifadagi satrlarning maksimal soni) parametrlaridan foydalanishi mumkin. Ushbu parametrlar faqat ba'zi ma'lumotlarni o'z ichiga olgan jadvallarda indekslarni yaratishda foydalanish maqsadga muvofiqdir.
Fillfaktor optsiyasi bilan foydalanuvchi SQL Server qo'llab-quvvatlashi kerak bo'lgan indeks sahifasini to'ldirish darajasini belgilaydi. Bu indeks sahifasida qoldirilishi mumkin bo'lgan bo'sh xotira hajmini hisobga oladi, chunki sahifa to'liq bo'lganda, tizim olingan ma'lumotlarga joy ajratish uchun qo'shimcha vaqt talab etadi.
Odatiy bo'lib, ushbu omil 0 bo'ladi va agar foydalanuvchi to'ldirish parametrlarini ko'rsatmagan bo'lsa, xuddi shu qiymatdan foydalaniladi. Tizim boshqaruvchisi ushbu omil uchun standart parametrlarni sp_configure tizim protsedurasidan foydalanib o'zgartirishi mumkin. Ushbu parametr haqida qo'shimcha ma'lumot olish uchun SQL Server System Administrator qo'llanmasiga murojaat qiling.
Foydalanuvchi tomonidan belgilanishi mumkin bo'lgan ushbu omil uchun to'g'ri qiymatlar 1 dan 100 gacha.
Quyida fillfaktor optsiyasidan foydalanib indeks yaratish bayonnomasiga misol keltirilgan.
Do'stlaringiz bilan baham: |