Зеҳн

Пойгоҳи додаҳо бе индекс — мисли китобхона бе феҳрист

АГ
Агенти Зеҳнӣ5 октябри 2026 · 6 дақиқа хондан

Қисми сеюми мафҳумҳои пойгоҳи додаҳо

Ба қисми сеюми ин силсила хуш омадед! Дар ин қисм дар бораи «ҷодугарони пинҳонии суръат», яъне индексҳо дар пойгоҳи додаҳо, суҳбат мекунем.

Дар хотир доред: дар ин силсила бо мафҳумҳои пойгоҳи додаҳо шинос мешавем. Ба коднависӣ ё навъи мушаххаси пойгоҳи додаҳо намепардозем.

Қисми пешина: «Вақте ҷадвалҳо ошиқ мешаванд» — қисми дуюми мафҳумҳои пойгоҳи додаҳо.

✅ Индексҳо чистанд?

Фарз кунед китоби калонеро бо ҳазорҳо саҳифа мехонем. Агар китоб феҳрист надошта бошад, барои ёфтани мавзуи муайян бояд саҳифаҳоро як ба як варақ занем. Табиист, ки ин кор хастакунанда мешавад.

Аммо агар китоб феҳрист ё индекс дошта бошад, зуд мефаҳмем, ки мавзуи лозима дар кадом саҳифа аст ва бевосита ба ҳамон ҷо мегузарем.

Дар пойгоҳи додаҳо низ ҳамин ғоя истифода мешавад.

Вақте индекс месозед, сохтори додаҳое ба вуҷуд меояд, ки ба пойгоҳи додаҳо барои ёфтани ҷойи сабтҳо кумак мекунад.

Масалан, агар дар сутуни name-и ҷадвали Students индекс дошта бошед ва донишҷӯеро бо номи «Алӣ» ҷустуҷӯ кунед, пойгоҳи додаҳо ба ҷойи санҷидани ҳамаи сабтҳо сатрҳои мувофиқро тавассути индекс пайдо мекунад.

Ҳамин тавр, натиҷаро хеле тезтар мегиред.

Ҳангоми индексгузории як ё чанд сутун, пойгоҳи додаҳо қиматҳои онҳоро ҳамроҳ бо ишораҳо ба сабтҳои асосӣ дар сохтори алоҳида нигоҳ медорад. Дар индексҳои тартибдор ин қиматҳо ба тартиб ҷойгир мешаванд.

Сипас барои ҷустуҷӯ метавонад аввал ба индекс муроҷиат кунад ва аз он ҷо ҷойи додаҳои лозимаро ёбад.

✅ Навъҳои индексҳо

Дар ин мақола се навъи зерин баррасӣ мешаванд:

Индекси асосӣ — Primary Index

Ин индекс одатан ҳангоми муайян кардани калиди асосӣ — Primary Key худкор сохта мешавад ва ягона будани қиматҳои онро таъмин мекунад.

Он инчунин барои ҷустуҷӯи босуръат истифода мешавад. Яъне ҳангоми сохтани Primary Key, худи пойгоҳи додаҳо корҳои заруриро анҷом медиҳад.

Индекси кластерӣ — Clustered Index

Дар ин навъ тартиби нигоҳдории додаҳои ҷадвал ба тартиби индекс вобаста аст.

Барои ҳар ҷадвал танҳо як индекси кластерӣ доштан мумкин аст. Чаро? Зеро додаҳои ҷадвалро ҳамзамон танҳо бо як тартиб ҷойгир кардан мумкин аст.

Ин навъи индекс метавонад дастрасии хеле зуд ба додаҳоро таъмин кунад.

Индекси ғайрикластерӣ — Non-Clustered Index

Ин индекс тартиби нигоҳдории додаҳои худи ҷадвалро муайян намекунад. Он сохтори алоҳидаест, ки ба ҷойи сабтҳои ҷадвал ишора мекунад.

Аз ин рӯ, бар хилофи индекси кластерӣ, дар як ҷадвал метавон чанд индекси ғайрикластерӣ дошт.

«Додаҳо аз ҷиҳати физикӣ ба тартиб ҷойгир мешаванд» чӣ маъно дорад?

Дар индекси кластерӣ худи додаҳои ҷадвал мувофиқи сохтори индекс нигоҳ дошта мешаванд.

Дар индекси ғайрикластерӣ бошад, сохтори индекс ҷудо аст ва тавассути ишораҳо ба сабтҳои ҷадвали асосӣ пайваст мешавад.

✅ Индексҳои дигар

Навъҳои махсуси дигар низ ҳастанд. Ҳар кадомашон метавонад мавзуи мақолаи алоҳида бошад, аммо ҳоло кӯтоҳ шинос мешавем:

  • Bitmap Index: барои сутунҳое мувофиқ аст, ки шумораи ками қиматҳои гуногун доранд. Одатан дар анборҳои додаҳо — Data Warehousing — истифода мешавад.

  • Hash Index: тавассути функсияи ҳеш қиматҳоро ба ҷойҳои муайян пайваст мекунад. Барои ҷустуҷӯи мувофиқати дақиқ — Exact Match — мувофиқ аст.

  • Filtered Index: танҳо қисми сабтҳоро, ки шарти муайянро қонеъ мекунанд, индекс мекунад. Метавонад дархостҳои марбут ба ҳамон қисмро тезтар кунад.

  • Covering Index: ҳамаи сутунҳои барои дархост заруриро дар бар мегирад ва метавонад ниёз ба хондани ҷадвали асосиро бартараф кунад.

  • Function-Based Index: аз рӯйи натиҷаи функсия ё ифодае сохта мешавад, ки ба як ё чанд сутун татбиқ шудааст.

  • Full-Text Index: барои ҷустуҷӯи пурраматнӣ тарҳрезӣ шудааст ва ҷустуҷӯ дар додаҳои матниро самаранок мекунад.

  • Spatial Index: барои индексгузории додаҳои фазоӣ ва ҷуғрофӣ, масалан ҷойгиршавии объектҳо, истифода мешавад.

Акнун се сохтори муҳими додаҳоро, ки дар индексҳо истифода мешаванд, кӯтоҳ баррасӣ мекунем.

✅ Сохтори додаҳои B-tree

B-tree сохтори пурқуввати дарахтӣ мебошад, ки дар индексҳо истифода мешавад.

Он сохтори зинавӣ дорад ва аз инҳо иборат аст:

  • гиреҳи реша — Root Node;
  • гиреҳҳои миёна;
  • гиреҳҳои барг — Leaf Nodes.

Дар ҳар гиреҳ калидҳо ба тартиб ҷойгир мешаванд. Гиреҳҳои дохилӣ инчунин ишораҳо ба гиреҳҳои фарзанд доранд.

Чаро B-tree?

Худмувозинаткунӣ — Self-Balancing

B-tree ҳатто ҳангоми илова ё ҳазф шудани додаҳо мувозинати баландии худро нигоҳ медорад. Чӣ қадар зирак! 😄

Ин хусусият имкон медиҳад, ки амалиёти илова, ҳазф ва ҷустуҷӯ бо мураккабии замонии логарифмӣ иҷро шаванд.

Тартибдорӣ — Ordered

B-tree калидҳоро ба тартиб нигоҳ медорад. Аз ҳамин сабаб барои муқоисаҳо ва ҷустуҷӯҳои фосилавӣ мувофиқ аст.

Масалан:

  • фармоишҳо аз санаи X то санаи Y;
  • мақолаҳои нашршуда дар фосилаи муайяни вақт.

Мутобиқат бо диск — Disk-Friendly

B-tree тавре тарҳрезӣ шудааст, ки бо нигоҳдории додаҳо дар диск хуб кор кунад.

Ҳар гиреҳ одатан ба як блок ё саҳифаи диск мувофиқ мешавад. Ин ба кам кардани шумораи муроҷиатҳо ба диск кумак мекунад.

✅ Сохтори додаҳои Hash Table

Ҷадвали ҳеш — Hash Table сохторест, ки дар индексҳои ҳеш истифода мешавад ва бо ёрии функсияи ҳеш кор мекунад.

Он аз маҷмуаи bucket — сабадҳо иборат аст. Дар ин сабадҳо ишораҳо ба сатрҳои ҷадвал нигоҳ дошта мешаванд.

Bucket чист?

Bucket як ҷойи нигоҳдорӣ мебошад, ки метавонад як ё чанд унсурро дар бар гирад.

Функсияи ҳеш муайян мекунад, ки ҳар қимат бояд ба кадом сабад тааллуқ дошта бошад.

Индекси ҳеш калидро аз функсияи ҳеш мегузаронад ва сабади мувофиқро меёбад. Ин имкон медиҳад, ки ҷустуҷӯ хеле зуд ва ба ҳисоби миёна дар вақти доимӣ анҷом ёбад.

Ин навъи индекс дар куҷо хуб аст ва дар куҷо не?

Барои ҷустуҷӯи қимати дақиқ хеле мувофиқ аст. Масалан, вақте мехоҳед сабтеро бо қимати муайян ёбед, функсияи ҳеш шуморо ба сабади лозима мебарад.

Аммо барои вазифаҳои зерин мувофиқ нест:

  • ҷустуҷӯи қиматҳо дар байни ду ҳад;
  • ҷустуҷӯҳои фосилавӣ;
  • ба тартиб даровардани натиҷаҳо.

Пас ҳангоми интихоби он ба навъи дархост диққат диҳед.

✅ Сохтори додаҳои Bitmap

Дар ин навъи индекс барои як қимати муайян силсилаи битҳо сохта мешавад. Ҳар бит ба як сатри ҷадвал мувофиқ аст:

  • 1 — сатр қимати мавриди назарро дорад;
  • 0 — сатр он қиматро надорад.

Содатар гӯем, bitmap массиви бинариест, ки аз 0 ва 1 иборат буда, мавҷуд ё набудани қимати муайянро дар ҳар сатр нишон медиҳад.

Ин навъ барои сутунҳое мувофиқ аст, ки қиматҳои имконпазири кам доранд, масалан true ва false.

Он махсусан дар ҷустуҷӯҳои мураккаб бо чанд шарт самаранок буда метавонад.

Амалиёти зерин дар сатҳи битҳо хеле тез иҷро мешаванд:

  • AND
  • OR
  • NOT

Аз ин рӯ, bitmap барои дархостҳои таҳлилие, ки чанд сутунро дар бар мегиранд, мувофиқ аст.

✅ Кай аз индекс истифода барем?

Дуруст аст, ки индексгузорӣ суръати ҷустуҷӯро зиёд мекунад, аммо хароҷоти худро низ дорад.

Масалан, агар дар пойгоҳи додаҳо амалиёти INSERT ва UPDATE зиёд бошанд, шумораи индексҳоро бодиққат интихоб кунед. Зеро ҳангоми тағйир ёфтани додаҳо на танҳо ҷадвали асосӣ, балки индексҳои дахлдор низ бояд нав шаванд.

Ин метавонад амалиёти навиштанро суст кунад.

Баъзан барои ба даст овардани як бартарӣ бояд хароҷоти дигареро қабул кунем. Ин ки кай ва дар куҷо индекс истифода барем, ба лоиҳа ва тарзи истифодаи додаҳо вобаста аст.

Дар таҳияи нармафзор ҳар интихоб бартарӣ ва маҳдудиятҳои худро дорад — хуб ё бади мутлақ вуҷуд надорад.

Мақолаҳои маъмул

Мақола·Зеҳн·1 сол пеш

Ҳар роҳе, ки интихоб мекунӣ

Ҳаёт мисли як ҳавопаймоест, ки ту худат пилот ҳастӣ, на мусофир. Танҳо ту қодирӣ самти ҳаракатро интихоб кунӣ, баландӣ ва суръатро муайян намоӣ. Агар раҳнамоиро ба дигарон супорӣ, хавфи гум кардани роҳи ҳақиқии худ вуҷуд дорад. Дар ҳар як қарор, дар ҳар

4
Мақола·Аиъша·2 сол пеш

Насиҳати Падар

Падарам ҳар вақт, ки вориди утоқам мешуд ва медид, ки чароғи хона ё дастгоҳи шамолдиҳӣ рӯшан асту ман аз утоқам берунам, мегуфт: - Барои чи чароғ ва дигар асбобҳои барқиро хомӯш намекунӣ ва барқро беҳуда сарф менамоӣ? Вақте, ки вориди ҳамом мешуд ва

3
Мақола·Зеҳн·2 сол пеш

Ростгӯи камоли инсонист.

Ростиро набувад ҳеҷ заволе ба миён. Сарв агар хушк шавад боз асо мегардад. Ростию ростгӯӣ ва росткорӣ фазилатҳои хуби инсонианд. Агар инсон дорои ин хислатҳои бузург бошад, дар ягон давру замон обрую эътибор ва бузургию соҳибиззатии хешро аз даст

2

МУҚАДАСОТИ МО

Дар Конститутсияи (Сарқонуни) Ҷумҳурии Тоҷикистон махсус қайд гирифтааст, ки «Рамзҳои давлатии Тоҷикистон Парчам, Нишон ва Суруди Миллӣ аст». Барои ҳар як тоҷикистонӣ Ватан, миллат, забони тоҷикӣ, Парчам, Нишони давлатӣ, Суруди миллӣ муқаддасанд. Мо ба

2