Үндсэн ялгаа – Кластерт ба бөөгнөрөлгүй индекс
Харилцан өгөгдлийн санд өгөгдөл нь хүснэгтэд хадгалагддаг. Эдгээр хүснэгтүүд нь гадаад түлхүүр гэх мэт хязгаарлалтуудыг ашиглан өөр хоорондоо холбоотой байдаг. Өгөгдлийн сан нь олон хүснэгтээс бүрдэнэ. Заримдаа шаардлагатай өгөгдлийг хайхад хэцүү байдаг. Тиймээс хайлтыг хурдасгахын тулд индексийг ашиглаж болно. Өгөгдлийн санд ашигласан индекс нь номын индекстэй төстэй. Номын индекс нь холбогдох хуудасны дугаар бүхий бүлгийг агуулна. Мэдээллийн сангийн индексжүүлэлт нь үүнтэй төстэй юм. Индекс нь хүснэгттэй төстэй бүтэцтэй бөгөөд өгөгдлийн сангийн тодорхой зай шаарддаг. Clustered болон Non-Clustered индекс гэж нэрлэгддэг хоёр төрлийн индекс байдаг. Clustered Index-д индексийн логик дараалал нь хүснэгтийн мөрүүдийн физик дараалалтай таарч байна. Nonclustered Index-д индекс болон бодит өгөгдөл нь тусдаа байршилд байрладаг тул индекс нь бодит өгөгдлийг татах заагч шиг ажилладаг. Кластерт болон бөөгнөрөлгүй индексийн гол ялгаа нь бөөгнөрсөн индекс нь бодит өгөгдлийг цэгцлэхэд оршино. Олон тооны индекс байгаа бөгөөд өгөгдөл хадгалах хэмжээ ихсэх үед тэдгээр индексүүдийг шинэчлэх шаардлагатай. Тиймээс хурдыг бууруулах боломжтой тул програмын дагуу индекс үүсгэх нь чухал юм.
Кластерт индекс гэж юу вэ?
Кластерт индекст индекс нь бодит өгөгдлийг зохион байгуулдаг. Энэ нь утасны лавлахтай төстэй юм. Утасны дугаарыг цагаан толгойн үсгийн дарааллаар байрлуулна. Тодорхой нэр хайх үед холбогдох утасны дугаарыг олж болно. Тиймээс кластерын индекс нь бодит өгөгдлийг зохион байгуулалттайгаар агуулдаг. Хүснэгт бүрт нэг индекс байж болно.
Зураг 01: Кластер ба бөөгнөрөлгүй индекс
Анхдагч түлхүүр нь хүснэгтийн оруулга бүрийг тодорхойлоход хэрэглэгддэг. Оюутны хүснэгтэд оюутны ID-г үндсэн түлхүүр болгон ашиглаж болно. Хэрэглэгчийн хүснэгтэд customer_id нь үндсэн түлхүүр байж болно. Ерөнхийдөө үндсэн түлхүүр нь кластерийн индексийг бий болгох гэж үзэж болно. Үндсэндээ, кластерийн индекст индексийн логик дараалал болон хүснэгтийн дараалал ижил байдаг тул өгөгдөлд хандах нь системтэй бөгөөд хурдан байдаг.
Бүслэг бус индекс гэж юу вэ?
Бүлэглэлгүй индекст индекс нь бодит өгөгдлийг зааж байна. Кластерт бус индекс нь өгөгдлийн лавлагаа юм. Тиймээс нэг хүснэгтэд олон индекс байж болно. Кластерт бус индексийн жишээ бол гарчигтай үндсэн индекс, харгалзах хуудасны дугаар эсвэл номын төгсгөлд чухал нэр томъёо бүхий индексийг цагаан толгойн үсгийн дарааллаар харгалзах хуудасны дугаарыг агуулсан ном юм. Энэ индекс нь бодит өгөгдлийг агуулаагүй болно. Гэхдээ энэ нь бодит өгөгдөлд хүрэхэд шаардлагатай мэдээллийг өгдөг. Тиймээс индекс болон өгөгдөл нь тусдаа байршилд байна. Тиймээс нэмэлт хадгалах зай шаардлагатай болсон.
Үндсэн түлхүүрээс өөр түлхүүр байгаа үед кластергүй индексийг ашиглана. Ерөнхийдөө, бөөгнөрөлгүй индекс нь бөөгнөрсөн индексээс удаан байна.
Кластерт болон бөөгнөрөлгүй индексийн хооронд ямар төстэй зүйл байдаг вэ?
Кластерт болон бөөгнөрөлгүй индекс хоёулаа өгөгдлийг үр дүнтэй хайхад ашигладаг индексүүдийн төрөл юм
Кластерт болон бөөгнөрөлгүй индексийн ялгаа нь юу вэ?
Кластерт ба бөөгнөрөлгүй индекс |
|
Кластерт индекс нь хүснэгтийн бичлэгүүдийг индекстэй тааруулахын тулд физикийн хувьд дахин эрэмбэлсэн индексийн төрөл юм. | Бүслэг бус индекс нь бодит өгөгдлийн лавлагааг агуулсан индексийн төрөл юм. |
Индексийн тоо | |
Хүснэгт бүрт нэг кластер индекс байж болно. | Хүснэгт бүрт кластергүй олон индекс байж болно. |
Хурд | |
Кластерт индекс нь Кластерт бус индексээс хурдан байна. | Бөглүүлээгүй индекс нь бөөгнөрсөн индексээс удаан байна. |
Шаардлагатай зай | |
Бүслэгдсэн индекс нэмэлт зай шаарддаггүй. | Бүлэггүй индекст нэмэлт зай шаардлагатай. |
Тогтоон – Бүлэглэсэн ба бөөгнөрөлгүй индекс
Харилцааны өгөгдлийн сан нь маш их өгөгдөл агуулдаг. Тиймээс өгөгдлийг хурдан хайх тодорхой механизмтай байх нь чухал юм. Энэ зорилтыг биелүүлэхийн тулд индексүүдийг ашиглаж болно. Хоёр төрлийн индекс байдаг. Эдгээр нь бөөгнөрсөн ба кластер бус индекс юм. Энэ нийтлэлд кластерт болон кластергүй индексийн ялгааг авч үзсэн. Кластерт индексийн хувьд индексийн логик дараалал нь хүснэгтийн мөрүүдийн физик дараалалтай таарч байна. Кластерт бус индексийн хувьд индекс болон бодит өгөгдөл нь тусдаа байршилд байдаг тул өгөгдлийг татах заагч байдаг. Кластерт болон бөөгнөрөлгүй индексийн ялгаа нь бөөгнөрсөн индекс нь бодит өгөгдлийг цэгцлэхэд оршино.