Quyidagi maqolada yig'ma jadvallar va klasterli jadvallar o'rtasidagi asosiy farqlar tushuntiriladi.
Jadvallar bilan ishlashda SQL Server, foydalanuvchilar ko'pincha klasterli jadvallar yoki yig'ma jadvallardan foydalanish dilemmasiga duch kelishadi. Klasterlangan indekslari bo'lmagan jadvallar yig'ma jadvallar, klasterli indekslari bo'lganlari esa klasterli jadvallar deb ataladi. Klasterli indeks asosan yozuvlarni jadvalda jismoniy saqlash usulini qayta tartiblaydi. Ma'lumotlar sahifalari klasterli indeksning barg tugunlarida joylashgan.

Maqolada ushbu ikkita jadval turi batafsilroq muhokama qilinadi.
Klaster va yig'ma jadvallar
Klasterlangan jadvallar foydalanuvchilarga yig'ma jadvallardan ko'ra ko'proq afzalliklarni beradi, chunki ular foydalanuvchilarga qatorlarni yig'ish jadvallariga qaraganda tezroq topish va klasterlangan indeksni qayta qurish orqali ma'lumotlarni/yozuvlarni jismoniy saqlash uchun indekslardan foydalanishda yordam beradi.
Ma'lumotlaringizdagi jadvallarga nisbatan ko'proq INSERT, DELETE va UPDATE amallari mavjud bo'lsa, jismoniy ma'lumotlaringiz parchalanishi mumkin. Ma'lumki, parchalangan ma'lumotlar isrof bo'lgan va istalmagan bo'shliqqa qo'shilishi mumkin, chunki agar siz so'rovni bajarsangiz, u yana bir nechta sahifalarni o'qishi kerak, chunki endi qisman to'liq sahifalar mavjud. Keling, ma'lumotlarni parchalash muammosini hal qilish yo'llarini bilib olaylik.
Uyma va klasterli jadval o'rtasidagi farq
Jadval/laringizda klasterli indeksga ega bo'lish zarurligini aniqlash orqali parchalanish muammosini hal qilish mumkin. Axir, bu sizning jadvalingizning jismoniy xotirasini tartibga soluvchi klaster yoki yig'ma indeksdir. Ma'lumotlar bazasidagi har qanday jadval faqat bitta turdagi indeksga ega bo'lishi mumkin. Tanlov qilish uchun biz bu ikkisi o'rtasidagi asosiy farqlarni tushunishimiz kerak, ular quyidagilardan iborat.
- Uyumda ma'lumotlarni saqlash tartibi yo'q, lekin Klasterlanganda ma'lumotlarni saqlash klasterlangan indeks kalitiga qarab tartibga ega.
- Ma'lumotlar sahifalari Heap-da bog'lanmagan, Klasterli jadvalda esa ular bog'langan va tezroq ketma-ket kirish mavjud.
- sys.indexes katalogini ko'rish uchun yig'ma 0 index_id qiymatiga va Clustered 1 index_id qiymatiga ega
- Clustered Index ma'lumotlarni yig'ish jadvaliga qaraganda tezroq oladi, chunki Clustered Index kaliti mavjud
Parchalanish
Klasterli va yig'ma jadvallar o'rtasidagi farqlarga asoslanib, parchalanish muammosini hal qilish mumkin. Fragmentatsiya INSERT, DELETE va UPDATE amallaridan foydalanish tufayli yuzaga keladi. Biroq, agar sizda yig'ish jadvali mavjud bo'lsa va faqat INSERT faolligi mavjud bo'lsa, u holda parchalanish sodir bo'lmaydi. Agar siz ketma-ket indeks kalitidan (Identity Value) foydalanayotgan bo'lsangiz va faqat INSERT bo'lsa, sizning klasterlangan indeksingiz parchalanmaydi. Ammo agar siz ko'p INSERT yoki DELETES dan foydalansangiz, jadvallar qismlarga bo'linadi.
Shuning uchun Clustered Index-dan foydalanish tavsiya etiladi, chunki u Index kalitiga bog'liq va kamroq joy egallaydi. Yangi yozuvlar mavjud bo'sh joydagi mavjud sahifalarga yozilishi mumkin.
Uyma yoki klasterli jadvaldan foydalanishni aniqlash uchun siz DBCC SHOWCONTIG yoki yangi DMV-ni ishga tushirishga urinib ko'rishingiz mumkin, chunki bu ikkala buyruq ham jadvallaringizdagi parchalanish muammolari haqida tushuncha berishi mumkin. Klasterlangan jadvalda parchalanishni klasterlangan indeksingizni qayta tashkil etish yoki qayta qurish orqali hal qilish mumkin.
Investitsiyalar a SQL Server ta'mirlash vosita MS dan foydalanadigan kompaniyalar uchun majburiydir SQL Server ishlab chiqarish serverlarida ma'lumotlar bazasi. Aslida, u ma'lumotlar bazasi buzilgan taqdirda qutqaruvchi bo'lishi mumkin.
Muallif kirish:
Viktor Saymon - ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc mdb ta'mirlash va sql-ni tiklash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring https://www.datanumen.com/