"Indeks baze podataka" odnosi se na posebnu vrstu strukture podataka koja ubrzava preuzimanje zapisa iz tablice baze podataka. Indeksi baze podataka osiguravaju da možete učinkovito pronaći i pristupiti podacima u tablici baze podataka bez potrebe za pretraživanjem svakog retka svaki put kada se obrađuje upit baze podataka.
Indeks baze podataka može se usporediti s indeksom knjige. Indeksi u bazama podataka usmjeravaju vas na zapis koji tražite u bazi podataka, baš kao što vas indeksna stranica knjige usmjerava na željenu temu ili poglavlje.
Međutim, iako su indeksi baza podataka ključni za brzo i učinkovito traženje i pristup podacima, oni zauzimaju dodatni prostor za upisivanje i memoriju.
Što je indeks?
Indeksi baze podataka su posebne tablice pretraživanja koje se sastoje od dva stupca. Prvi je stupac tipka za pretraživanje, a drugi je pokazivač podataka. Ključevi su vrijednosti koje želite pretraživati i dohvatiti iz tablice baze podataka, a pokazivač ili referenca spremaju adresu bloka diska u bazu podataka za taj određeni ključ pretraživanja. Polja ključa sortirana su tako da ubrzavaju postupak dohvaćanja podataka za sve vaše upite.
Zašto koristiti indeksiranje baze podataka?
Ovdje ću vam na pojednostavljeni način pokazati indekse baze podataka. Pretpostavimo da imate tablicu baze podataka osam zaposlenika koji rade u tvrtki i želite pretražiti informacije za zadnji unos tablice. Sada, da biste pronašli prethodni unos, trebate pretražiti svaki red baze podataka.
Međutim, pretpostavimo da ste tablicu abecedno razvrstali na temelju imena zaposlenika. Dakle, ovdje se ključevi za indeksiranje temelje na "stupcu imena". U tom slučaju, ako pretražite zadnji unos, „Zack, ”Možete skočiti na sredinu tablice i odlučiti dolazi li naš unos prije ili poslije stupca.
Kao što znate, doći će nakon srednjeg reda, a redove nakon srednjeg reda možete ponovno podijeliti na pola i napraviti sličnu usporedbu. Na taj način ne trebate prelaziti svaki redak da biste pronašli zadnji unos.
Da je tvrtka imala 1.000.000 zaposlenika, a zadnji je unos bio “Zack”, morali biste pretražiti 50.000 redaka kako biste pronašli njegovo ime. Abecednim indeksiranjem to možete učiniti u nekoliko koraka. Sada možete zamisliti koliko brži pregled podataka i pristup podacima mogu postati indeksiranjem baze podataka.
Povezano: 13 najvažnije SQL naredbe koje bi svaki programer trebao znati
Različite metode organizacije datoteka za indekse baza podataka
Indeksiranje uvelike ovisi o mehanizmu organizacije datoteka koji se koristi. Obično postoje dvije vrste metoda organizacije datoteka koje se koriste za indeksiranje baze podataka za pohranu podataka. O njima se govori u nastavku:
1. Uređena indeksna datoteka: Ovo je tradicionalna metoda pohrane podataka indeksa. U ovoj se metodi vrijednosti ključa sortiraju u određenom redoslijedu. Podaci u uređenoj indeksnoj datoteci mogu se pohraniti na dva načina.
- Oskudni indeks: U ovoj vrsti indeksiranja stvara se unos indeksa za svaki zapis.
- Indeks gustoće: U gustom indeksiranju stvara se unos indeksa za neke zapise. Da biste pronašli zapis ovom metodom, najprije morate pronaći najznačajniju vrijednost ključa za pretraživanje iz unosa indeksa koji su manji ili jednaki vrijednosti ključa za pretraživanje koji tražite.
2. Organizacija hash datoteka: U ovoj metodi organizacije datoteka, hash funkcija određuje mjesto ili blok diska na kojem se pohranjuje zapis.
Vrste indeksiranja baze podataka
Općenito postoje tri metode indeksiranja baza podataka. Oni su:
- Grupirano indeksiranje
- Negrupirano indeksiranje
- Indeksiranje na više razina
1. Grupirano indeksiranje
U klasteriziranom indeksiranju, jedna datoteka može pohraniti više od dva zapisa podataka. Sustav zadržava stvarne podatke u klasteriziranom indeksiranju, a ne u pokazivačima. Pretraživanje je isplativo s klasteriziranim indeksiranjem jer pohranjuje sve povezane podatke na isto mjesto.
Indeks klasteriranja koristi se uređenim datotekama podataka da bi se definirao. Također, pridruživanje više tablica baze podataka vrlo je često kod ove vrste indeksiranja.
Također je moguće stvoriti indeks na temelju neprimarnih stupaca koji nisu jedinstveni za svaki ključ. U takvim prilikama kombinira više stupaca kako bi oblikovao jedinstvene vrijednosti ključa za klasterirane indekse.
Ukratko, indeksi klasteriranja su oni gdje se grupiraju slični tipovi podataka i za njih se izrađuju indeksi.
Primjer: Pretpostavimo da postoji tvrtka koja ima preko 1.000 zaposlenika u 10 različitih odjela. U tom bi slučaju tvrtka trebala stvoriti indeksiranje klastera u svom DBMS-u kako bi indeksirala zaposlenike koji rade u istom odjelu.
Svaki klaster sa zaposlenicima koji rade u istom odjelu bit će definiran kao jedinstveni klaster, a pokazivači podataka u indeksima odnosit će se na klaster kao cjelovitu cjelinu.
Povezano: Što su strani ključevi u bazama podataka SQL?
2. Negrupirano indeksiranje
Neklasterizirano indeksiranje odnosi se na vrstu indeksiranja gdje redoslijed redova indeksa nije jednak onom kako se fizički pohranjuju izvorni podaci. Umjesto toga, neklasterizirani indeks usmjerava na pohranu podataka u bazi podataka.
Primjer: Neglasterizirano indeksiranje slično je knjizi koja ima uređenu stranicu sadržaja. Ovdje je pokazivač podataka ili referenca uređena stranica sadržaja koja je abecedno poredana, a stvarni podaci su podaci na stranicama knjige. Stranica sa sadržajem ne pohranjuje informacije na stranicama knjige prema njihovom redoslijedu.
3. Indeksiranje na više razina
Višerazinsko indeksiranje koristi se kada je broj indeksa vrlo velik i ne može pohraniti primarni indeks u glavnu memoriju. Kao što možda znate, indeksi baze podataka sadrže ključeve za pretraživanje i pokazivače podataka. Kada se veličina baze podataka povećava, raste i broj indeksa.
Međutim, kako bi se osiguralo brzo pretraživanje, zapisi u indeksu trebaju se čuvati u memoriji. Ako se koristi jednorazinski indeks kada je broj indeksa velik, malo je vjerojatno da će taj indeks spremiti u memoriju zbog njegove veličine i višestrukog pristupa.
Tu dolazi do izražaja indeksiranje na više razina. Ova tehnika razbija jednorazinski indeks u više manjih blokova. Nakon raspada, blok vanjske razine postaje toliko sitan da se lako može pohraniti u glavnu memoriju.
Povezano: Kako se povezati s MySQL bazom podataka pomoću Jave
Što je fragmentacija SQL indeksa?
Kada se bilo koji redoslijed stranica indeksa ne podudara s fizičkim redoslijedom u podatkovnoj datoteci uzrokuje fragmentaciju SQL indeksa. U početku se svi SQL indeksi nalaze bez fragmentacije, ali dok više puta upotrebljavate bazu podataka (Umetanje / brisanje / mijenjanje podataka), to može uzrokovati fragmentaciju.
Osim fragmentacije baze podataka, vaša baza podataka može se suočiti i s drugim vitalnim problemima poput korupcije baze podataka. To može dovesti do izgubljenih podataka i oštećenja web mjesta. Ako poslujete s web lokacijom, to može biti kobni udarac za vas.
Alat za oporavak za SQL Server pomaže popraviti oštećene MDF datoteke MS SQL Servera za sve verzije.
Pročitajte Dalje
- Programiranje
- SQL
- Analiza podataka
- baza podataka
Zadhid Powell je inženjer računala koji je odustao od kodiranja da bi počeo pisati! Uz to, on je digitalni marketinški entuzijast, tehnološki entuzijast, SaaS-ov stručnjak, čitatelj i oduševljeni sljedbenik softverskih trendova. Često ga možete naći kako ljulja gitarom klubove u centru grada ili pregledava ronjenje na dnu oceana.
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Još jedan korak…!
Potvrdite svoju adresu e-pošte u e-pošti koju smo vam upravo poslali.