Sobes.tech
Junior

რის შემთხვევებში გამოიყენება ინდექსები მონაცემთა ბაზებში?

sobes.tech AI

პასუხი AI-სგან

දත්ත ආශ්රිත දත්ත සමුදායන්හි දර්ශක (Index) භාවිතා කරන්නේ විමසුම් ක්‍රියාවලිය වේගවත් කිරීම සඳහාය, විශේෂයෙන්:

  • දත්ත සෙවීම: SELECT ක්‍රියාවලිය වේගවත් කිරීම, විශේෂයෙන් WHERE, JOIN සහ ORDER BY කොන්දේසියන් සමඟ. දර්ශකයක් DBMS-ට අවශ්‍ය පේළි වේගයෙන් සොයා ගැනීමට ඉඩ සලසයි, සම්පූර්ණ වගුව ස්කෑන් නොකර.
  • වර්ගීකරණය: ORDER BY මඟින් වර්ගීකරණ වේගවත් කිරීම. වර්ගීකරණ සඳහා දර්ශකයක් තිබේ නම්, එය භාවිතා කර DBMS-ට එහි අනුක්‍රමය භාවිතා කළ හැකිය, අමතර වර්ගීකරණ ක්‍රියාවලියන් වලින් වළක්වයි.
  • ටේබල් එකතු කිරීම: දර්ශකිත කොලම් මත JOIN ක්‍රියාවලිය වේගවත් කිරීම. දර්ශකය සම්බන්ධිත වගු වල අදාළ පේළි වේගයෙන් සොයා ගැනීමට උපකාරී වේ.
  • දත්ත අද්විතීයතාව: කොලමක අගයන්ගේ අද්විතීයතාවය සහතික කිරීම (අද්විතීය දර්ශකයක් මඟින්).
  • ප්‍රාථමික යතුරු: ප්‍රාථමික යතුර ස්වයංක්‍රීයව අද්විතීය දර්ශකයක් වන අතර, ඒකක අංකය මත වේගවත් ප්‍රවේශය සඳහා භාවිතා වේ.
  • දෙවන යතුරු: සම්බන්ධිත වගු අතර සබැඳි දත්ත ආරක්ෂා කිරීම සහ JOIN ක්‍රියාවලිය වේගවත් කිරීම සඳහා භාවිතා වේ.

දර්ශක කිරීම සඳහා කොලම් උදාහරණ:

  • බොහෝ විට සෙවීම සිදු වන කොලම් (WHERE uid = 123).
  • JOIN කොන්දේසියන්හි භාවිතා වන කොලම් (table1.id = table2.ref_id).
  • බොහෝ විට වර්ගීකරණය සිදු වන කොලම් (ORDER BY created_at DESC).
  • උසස් කාඩිනල්කම ඇති කොලම් (බොහෝ අද්විතීය අගයන්).

ආවරණ, අවශ්‍ය නොවන හෝ අකාර්යක්ෂම විය හැකි අවස්ථා:

  • ඉතා කුඩා වගු: කුඩා වගු වලදී, ස්කෑනීම වේගවත් විය හැකිය හෝ සෙවීමේ ද්‍රව්‍ය සමඟ සසඳා බලන විට සමහරවිට සමාන වේගයෙන් සිදු විය හැක.
  • අඩු කාඩිනල්කම ඇති කොලම්: TRUE/FALSE වැනි boolean ක්ෂේත්‍රයක දර්ශකයක් මගින් විශාල ප්‍රතිඵල ලබා නොදෙයි.
  • සැමවිට ලිවීමේ ක්‍රියාවලියන් (INSERT, UPDATE, DELETE): දර්ශකයන් දත්ත වෙනස්වීමේදී යාවත්කාලීන විය යුතුය, එමනිසා ලිවීමේ ක්‍රියාවලියන් මන්දගාමිය හැකිය. සියලු කොලම් සඳහා දර්ශක තබා නොවිය යුතුය.
  • WHERE කොන්දේසියන්හි ක්‍රියාවලියන් සමඟ කොලම්: WHERE හි කොලමකට ක්‍රියාවලියක් යෙදුවහොත් (උදාහරණයක් ලෙස, WHERE YEAR(date_column) = 2023), සාමාන්‍ය දර්ශකය භාවිතා නොවේ. මෙයට ක්‍රියාවලියන් මූලික දර්ශකයක් (ඇත්නම්) හෝ ප්‍රශ්නය නැවත ලිවිය යුතුය.

දර්ශක කිරීම සඳහා කොලම් තෝරා ගැනීම සහ දර්ශක වර්ගය (B-තල, hash, full-text ආදිය) දත්තවල ස්වභාවය, විමසුම් ස්වභාවය සහ භාවිතා කරන දත්ත පද්ධතිය මත පදනම් වේ.