Database Index: Isang Panimula para sa Mga Nagsisimula

Database Index: Isang Panimula para sa Mga Nagsisimula

Ang 'Database Index' ay tumutukoy sa isang espesyal na uri ng istraktura ng data na nagpapabilis sa pagkuha ng mga tala mula sa isang database table. Tinitiyak ng mga indeks ng database na maaari mong hanapin at ma-access ang data sa isang database table nang mahusay nang hindi kinakailangang maghanap sa bawat hilera sa tuwing mapoproseso ang isang query sa database.





Ang isang index ng database ay maihahalintulad sa index ng isang libro. Itinuturo ka ng mga indeks sa mga database sa rekord na iyong hinahanap sa database, tulad ng itinuro sa iyo ng pahina ng index ng isang libro sa iyong nais na paksa o kabanata.





Gayunpaman, habang ang mga indeks ng database ay mahalaga para sa mabilis at mahusay na paghahanap ng data at pag-access, kumukuha sila ng mga karagdagang pagsulat at puwang ng memorya.





Ano ang isang Index?

Ang mga index ng database ay mga espesyal na talahanayan ng paghahanap na binubuo ng dalawang mga haligi. Ang unang haligi ay ang susi sa paghahanap, at ang pangalawa ay ang data pointer. Ang mga susi ay ang mga halagang nais mong hanapin at makuha mula sa iyong talahanayan ng database, at ang pointer o sanggunian ay nag-iimbak ng disk block address sa database para sa tukoy na key ng paghahanap. Ang mga pangunahing patlang ay pinagsunod-sunod upang mapabilis nito ang pagpapatakbo ng pagkuha ng data para sa lahat ng iyong mga query.

Bakit Gumagamit ng Database Indexing?

Ipapakita ko sa iyo ang mga indeks ng database sa isang pinasimple na paraan dito. Ipagpalagay na mayroon kang isang talahanayan ng database ng walong mga empleyado na nagtatrabaho sa isang kumpanya, at nais mong hanapin ang impormasyon para sa huling pagpasok ng talahanayan. Ngayon, upang mahanap ang nakaraang entry, kailangan mong hanapin ang bawat hilera ng database.



Gayunpaman, ipagpalagay na pinagsunod-sunod mo ayon sa alpabeto ang talahanayan batay sa unang pangalan ng mga empleyado. Kaya, narito ang mga susi sa pag-index ay batay sa haligi ng pangalan. Sa kasong iyon, kung hahanapin mo ang huling entry, Zack , maaari kang tumalon sa gitna ng talahanayan at magpasya kung ang aming pagpasok ay dumating bago o pagkatapos ng haligi.

Tulad ng alam mo, darating ito pagkatapos ng gitnang hilera, at maaari mo ulit hatiin ang mga hilera pagkatapos ng gitnang hilera sa kalahati at gumawa ng isang katulad na paghahambing. Sa ganitong paraan, hindi mo kailangang daanan ang bawat hilera upang hanapin ang huling entry.





Kung ang kumpanya ay mayroong 1,000,000 empleyado at ang huling entry ay Zack, kailangan mong maghanap ng 50,000 mga hilera upang makita ang kanyang pangalan. Samakatuwid, sa pag-index ng alpabeto, magagawa mo ito sa ilang mga hakbang. Maaari mo na ngayong maiisip kung gaano mas mabilis ang paghahanap ng data at pag-access ay maaaring maging sa pag-index ng database.

Kaugnay: 13 Pinakamahalagang SQL ay Nag-uutos sa Anumang Programmer Dapat Malaman





Iba't ibang Mga Paraan ng Organisasyon ng File para sa Mga Database Index

Ang pag-index ay lubos na nakasalalay sa ginamit na mekanismo ng file file. Karaniwan, mayroong dalawang uri ng mga pamamaraan ng samahan ng file na ginamit sa pag-index ng database upang mag-imbak ng data. Tinalakay ang mga ito sa ibaba:

1. Umorder ng File ng Index: Ito ang tradisyunal na pamamaraan ng pag-iimbak ng data ng index. Sa pamamaraang ito, ang mga pangunahing halaga ay pinagsunod-sunod sa isang partikular na pagkakasunud-sunod. Ang data sa isang order na index file ay maaaring maimbak sa dalawang paraan.

  • Kalat-kalat na Index: Sa ganitong uri ng pag-index, isang index entry ang nilikha para sa bawat record.
  • Siksik na Index: Sa siksik na pag-index, isang index entry ang nilikha para sa ilang mga record. Upang makahanap ng isang talaan sa pamamaraang ito, kailangan mo munang hanapin ang pinakamahalagang halaga ng susi sa paghahanap mula sa mga entry sa index na mas mababa sa o katumbas ng halaga ng susi sa paghahanap na iyong hinahanap.

2. Organisasyon ng Hash File: Sa pamamaraang ito ng samahan ng file, tinutukoy ng isang hash function ang lokasyon o disk block kung saan nakaimbak ang isang talaan.

Mga uri ng Database Indexing

Sa pangkalahatan mayroong tatlong pamamaraan ng Database Indexing. Sila ay:

  • Clustered Indexing
  • Non-clustered Indexing
  • Multi-Level Indexing

1. Clustered Indexing

Sa clustered indexing, ang isang solong file ay maaaring mag-imbak ng higit sa dalawang mga record ng data. Pinapanatili ng system ang aktwal na data sa clustered indexing kaysa sa mga payo. Ang paghahanap ay magastos sa clustered indexing habang iniimbak nito ang lahat ng nauugnay na data sa parehong lugar.

saan pupunta ang mga screenshot sa mac

Gumagamit ang isang clustering index ng mga order ng data file upang tukuyin ang sarili nito. Gayundin, ang pagsali sa maraming mga talahanayan ng database ay pangkaraniwan sa ganitong uri ng pag-index.

Posible ring lumikha ng isang index batay sa mga hindi pangunahing mga haligi na hindi natatangi para sa bawat key. Sa mga nasabing okasyon, pinagsasama nito ang maraming mga haligi upang mabuo ang natatanging mga pangunahing halaga para sa mga clustered index.

Kaya, sa maikling salita, ang mga clustering index ay kung saan naka-grupo ang mga katulad na uri ng data at nilikha ang mga indeks para sa kanila.

Halimbawa: Ipagpalagay na mayroong isang kumpanya na mayroong higit sa 1,000 mga empleyado sa 10 magkakaibang departamento. Sa kasong ito, dapat lumikha ang kumpanya ng clustering indexing sa kanilang DBMS upang ma-index ang mga empleyado na nagtatrabaho sa iisang departamento.

Ang bawat kumpol sa mga empleyado na nagtatrabaho sa parehong departamento ay matutukoy bilang isang solong kumpol, at ang mga pahiwatig ng data sa mga indeks ay tumutukoy sa kumpol bilang isang buong nilalang.

Kaugnay: Ano ang Mga Foreign Key sa SQL Databases?

2. Non-clustered Indexing

Ang non-clustered indexing ay tumutukoy sa isang uri ng pag-index kung saan ang pagkakasunud-sunod ng mga hilera sa index ay hindi katulad ng kung paano ang pisikal na data ay naimbak nang pisikal. Sa halip, ang isang hindi na-clustered na index ay tumuturo sa pag-iimbak ng data sa database.

Halimbawa: Ang hindi clustered indexing ay katulad ng isang libro na mayroong isang order na pahina ng nilalaman. Dito, ang data pointer o sanggunian ay ang order ng pahina ng mga nilalaman na pinagsunod-sunod ayon sa alpabeto, at ang aktwal na data ay ang impormasyon sa mga pahina ng libro. Ang pahina ng mga nilalaman ay hindi nag-iimbak ng impormasyon sa mga pahina ng libro sa kanilang pagkakasunud-sunod.

3. Pag-index ng Multi-level

Ginagamit ang pag-index ng multi-level kapag ang bilang ng mga indeks ay napakataas, at hindi nito maiimbak ang pangunahing index sa pangunahing memorya. Tulad ng iyong nalalaman, ang mga indeks ng database ay binubuo ng mga susi sa paghahanap at mga pahiwatig ng data. Kapag tumaas ang laki ng database, lumalaki din ang bilang ng mga indeks.

Gayunpaman, upang matiyak ang mabilis na pagpapatakbo ng paghahanap, kailangan ng mga record ng index upang maitago sa memorya. Kung ginamit ang isang index na may isang antas kapag mataas ang numero ng index, malamang na hindi maiimbak ang indeks sa memorya dahil sa laki at maraming pag-access.

Dito naglalaro ang pag-index ng multi-level. Pinaghihiwa ng diskarteng ito ang index ng solong antas sa maraming mas maliit na mga bloke. Matapos masira, ang panlabas na antas ng bloke ay naging napakaliit na madali itong maiimbak sa pangunahing memorya.

Kaugnay: Paano Kumonekta sa isang MySQL Database Sa Java

Ano ang SQL Index Fragmentation?

Kapag ang anumang pagkakasunud-sunod ng mga pahina ng index ay hindi tugma sa pisikal na pagkakasunud-sunod sa file ng data ay sanhi ng pagkasira ng index ng SQL. Sa una, ang lahat ng mga index ng SQL ay naninirahan sa fragmentation-free, ngunit habang ginagamit mo ang database (Ipasok / Tanggalin / Baguhin ang data) nang paulit-ulit, maaari itong maging sanhi ng pagkapira-piraso.

Bukod sa fragmentation ng database, ang iyong database ay maaari ring harapin ang iba pang mahahalagang isyu tulad ng katiwalian sa database. Maaari itong humantong sa nawalang data at isang napinsalang website. Kung gumagawa ka ng negosyo sa iyong website, maaari itong maging isang nakamamatay na suntok para sa iyo.

Magbahagi Magbahagi Mag-tweet Email Nasira ang Data ng SQL Server? Subukang bawiin ito Sa SQL Recovery Toolbox

Ang Recovery Toolbox para sa SQL Server ay tumutulong upang ayusin ang mga nasirang MDF file ng isang MS SQL Server para sa lahat ng mga bersyon.

kung paano gawing mas maliit ang sukat ng file ng mga larawan
Basahin Susunod Mga Kaugnay na Paksa
  • Programming
  • SQL
  • Pagsusuri sa datos
  • database
Tungkol sa May-akda Zadhid A. Powell(16 na Artikulo Nai-publish)

Si Zadhid Powell ay isang Computer Engineer na sumuko sa pag-cod upang magsimulang magsulat! Sa tabi, siya ay isang Digital Marketer, mahilig sa teknolohiya, eksperto sa SaaS, mambabasa, at masigasig na tagasunod ng mga trend ng software. Kadalasan maaari mong makita siya na tumba sa mga club sa downtown gamit ang kanyang gitara o pag-inspeksyon sa paglulubog sa sahig ng dagat.

Higit pa Mula kay Zadhid A. Powell

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe