Sobes.tech
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);