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. გეოგრაფიული (რ-ტრი) ინდექსები:

    • გამოიყენება გეოგრაფიული ან სივრცითი მონაცემების ინდექსირებისთვის.
    • ეფექტურად იპოვის ობიექტებს განსაზღვრულ ტერიტორიაზე ან საზღვრებში.
  5. ბიტმაპი (Bitmap) ინდექსი:

    • გამოიყენება ზოგიერთ მონაცემთა ბაზაში (მაგალითად, Oracle, PostgreSQL).
    • შესაფერისია დაბალი კარდინალობის ფარებისთვის (მცირე რაოდენობის უნიკალური მნიშვნელობები, მაგალითად, სქესი, სტატუსი: აქტიური/არააქტიური).
    • შეიძლება იყოს ძალიან ეფექტიანი რთული მოთხოვნებისთვის AND და OR ოპერაციებით.
  6. კლასტერიზებული ინდექსი:

    • გავლენას ახდენს მონაცემების ფიზიკურ განლაგებაზე.
    • ერთდროულად მხოლოდ ერთი კლასტერიზებული ინდექსი შეიძლება იყოს.
    • ხშირად გამოიყენება მთავარი გასაღებისთვის.
  7. ნეკლასტერიზებული ინდექსი:

    • არ განსაზღვრავს ფიზიკურ განლაგებას.
    • შეიცავს მითითებებს ფიზიკურ მდებარეობაზე.
    • ერთ ჯადვალში შეიძლება იყოს რამდენიმე ნეკლასტერიზებული ინდექსი.
  8. კავერინგი (Covering) ინდექსი:

    • ინდექსი, რომელიც შეიცავს ყველა სვეტს, რომელიც საჭიროა მოთხოვნის შესრულებისთვის, მათ შორის SELECT სიაში, WHERE პირობებში და ORDER BY.
    • საშუალებას აძლევს მონაცემთა ბაზას არ მიმართოს ტაბლეტურ მონაცემებს, რაც აჩქარებს მოთხოვნის შესრულებას.
  9. ფუნქციური (გამოხატვის მიხედვით) ინდექსი:

    • ინდექსი, რომელიც აგებულია ერთ ან რამდენიმე სვეტზე ფუნქციის ან გამოთვლის შედეგზე.
    • საშუალებას აძლევს გამოთვლილი მნიშვნელობების ინდექსირებას.

ინდექსის ტიპის არჩევისას განიხილება მონაცემთა ტიპი, მოთხოვნების სიხშირე და ხასიათი (ზუსტი მნიშვნელობის ძიება, დიაპაზონი, სორტირება, სრული ტექსტის ძიება და ა.შ.) და სვეტის კარდინალობა.