Sobes.tech
Junior

Ի՞նչ տեսակների ինդեքսներ կան տվյալների բազաներում։

sobes.tech AI

Պատասխան AI-ից

Տեղեկատվական բազաների հիմնական ինդեքսների տեսակները:

  1. B-Tree (B+Tree):

    • ամենատարածված տեսակն է:
    • հարմար է լայն սպեկտրի գործողությունների համար՝ տիրույթի որոնում, ճշգրիտ համապատասխանություն, դասավորություն:
    • օգտագործվում է որպես նախնական տարբերակ շատ տվյալների բազաներում (MySQL, PostgreSQL, Oracle):
  2. Հեշ-индեքսներ:

    • հիմնված հեշ-թերթի վրա:
    • շատ արագ է ճշգրիտ համապատասխանության որոնման համար (=):
    • չի հարմար տիրույթի որոնման համար (BETWEEN, <, >), դասավորության (ORDER BY) կամ պաթերնի որոնման (LIKE):
  3. Լրացուցիչ տեքստային ինդեքսներ:

    • նախատեսված են տեքստային դաշտերում որոնման համար (BLOB, TEXT):
    • թույլ են տալիս որոնել բառեր կամ արտահայտություններ, հաշվի առնել սինոնիմները և մորֆոլոգիական վերլուծությունը:
    • օրինակներ՝ MATCH...AGAINST MySQL/MariaDB-ում, tsvector/tsquery PostgreSQL-ում:
  4. Տարածական ինդեքսներ (R-tree):

    • օգտագործվում են աշխարհագրական կամ տարածական տվյալների ինդեքսավորման համար:
    • արդյունավետորեն գտնում են օբյեկտները որոշ տարածության կամ սահմանների մեջ:
  5. Բիթային քարտեզ (Bitmap):

    • օգտագործվում է որոշ տվյալների բազաներում (օրինակ՝ Oracle, PostgreSQL):
    • հարմար է ցածր կարդինալության դաշտերի համար (փոքր քանակությամբ եզակի արժեքներ՝ սեռ, կարգավիճակ՝ ակտիվ/ակտիվ չէ):
    • կարող է շատ արդյունավետ լինել բարդ հարցումների համար՝ AND և OR օպերատորներով:
  6. Կլաստերիզացված ինդեքս:

    • ազդում է տվյալների ֆիզիկական կարգավորման վրա:
    • միայն մեկ կլաստերիզացված ինդեքս կարող է լինել մեկ տողային աղյուսակում:
    • հաճախ օգտագործվում է հիմնական բանալի համար:
  7. Անկլաստերիզացված ինդեքս:

    • չի որոշում ֆիզիկական կարգավորումը:
    • պարունակում է ցուցիչներ ֆիզիկական դիրքորոշման համար:
    • աղյուսակը կարող է ունենալ մի քանի անկլաստերիզացված ինդեքսներ:
  8. Կապող (Covering) ինդեքս:

    • ինդեքս, որը պարունակում է բոլոր սյունակները, որոնք անհրաժեշտ են հարցման կատարման համար՝ ներառյալ SELECT ցանկում, WHERE պայմաններում և ORDER BY:
    • թույլ է տալիս տվյալների բազային համակարգին չհասնել տվյալների, ինչը արագացնում է հարցումը:
  9. Ֆունկցիոնալ (արտահայտության վրա հիմնված) ինդեքս:

    • կառուցված է մեկ կամ մի քանի սյունակների վրա ֆունկցիայի կամ արտահայտության արդյունքի վրա:
    • թույլ է տալիս հաշվարկված արժեքների ինդեքսավորումը:

Ընտրելով ինդեքսի տեսակ, հաշվի առնվում է տվյալների տիպը, հաճախականությունը և հարցումների բնույթը (ճշգրիտ արժեքի որոնում, տիրույթ, դասավորություն, լրացուցիչ տեքստային որոնում և այլն), ինչպես նաև սյունակի կարդինալությունը։