Middle
Ի՞նչ տեսակների ինդեքսներ կան:
sobes.tech AI
Պատասխան AI-ից
Ինդեքսների տեսակները կախված են դրանց կիրառման կոնտեքստից, սովորաբար տվյալների բազաներում:
Պահպանման կառուցվածքի համաձայն՝
- B-պատառ (B-Tree): Ամենատարածված տեսակն է, օգտագործվում է տվյալների դասավորված պահեստավորման և արագ տիրապետման համար:
- B+ պտուղ (B+ Tree): B-պատառի տարբերակ, որտեղ բոլոր տվյալները պահվում են տերևային հանգույցներում, ինչը օպտիմալացնում է հաջորդական ընթերցումը:
- Hash ինդեքս: Հաշվային աղյուսակների վրա հիմնված, արդյունավետ է ճշգրիտ համապատասխանությունների համար, բայց ոչ հարմար տիրապետման կամ դասավորության համար:
- R-պատառ (R-Tree): Օգտագործվում է բազմաչափ տվյալների ինդեքսավորման համար, օրինակ՝ աշխարհագրական կոորդինատների:
Նպատակների համաձայն՝
- Հիմնական բանալի ինդեքս: Ավտոմատ ստեղծվում է հիմնական բանալի համար, ապահովում է յուրօրինակությունը և ծառայում որպես գրանցման նույնականացուցիչ:
- Երկրորդական ինդեքս: Ստեղծվում է մեկ կամ մի քանի սյունակների վրա՝ հարցումների արագացման համար, որոնք չեն հանդիսանում հիմնական բանալի:
- Անհատական ինդեքս: Գերաշխավորում է արժեքների յուրօրինակությունը ինդեքսավորված սյունակում (կամ սյունակների համադրությունում):
- Լրիվ տեքստային ինդեքս: Օգտագործվում է տեքստի որոնման համար սյունակներում:
- Տարածական ինդեքս: Կիրառվում է տարածական տվյալների ինդեքսավորման համար:
Ստեղծման մեթոդների համաձայն՝
- Կլաստերային ինդեքս: Կարգավորում է տվյալների ֆիզիկական պահպանումը աղյուսակում։ Մի աղյուսակ կարող է ունենալ միայն մեկ կլաստերային ինդեքս:
- Ոչ կլաստերային ինդեքս: Պահում է իրական տվյալների ցուցիչները, որոնք կարող են լինել այլ կարգով:
SQL-ում ինդեքսների ստեղծման օրինակ՝
-- Սովորական ինդեքսի ստեղծում
CREATE INDEX idx_lastname ON Employees (LastName);
-- Յունիկ ինդեքսի ստեղծում
CREATE UNIQUE INDEX idx_employeeid ON Employees (EmployeeID);
-- Կոմպոզիտային ինդեքսի ստեղծում
CREATE INDEX idx_name_city ON Customers (FirstName, City);