|
|
Opslået på 20/09/2019 09.31.08
|
|
|

Begrebet indeksering
Formålet med at etablere et indeks er at forbedre databasesystemets ydeevne, øge forespørgselshastigheden for data og reducere systemets svartid. Hvad er et indeks: Et indeks i en database ligner en indholdsfortegnelse for en bog, hvor du hurtigt kan finde den information, du ønsker, uden at læse hele bogen. I en database bruger et databaseprogram indekser til hurtigt at forespørge data i en tabel uden at skulle scanne hele tabellen. Indholdsfortegnelsen i en bog er en liste over ord og de sidetal, de er placeret i, og indekset i databasen er en liste over værdier i en tabel og hvor hver værdi er gemt. Fordele og ulemper ved indeksering: Det meste af overheaden ved forespørgselsudførelse er I/O, og et af hovedmålene med at bruge indekser til at forbedre ydeevnen er at undgå fuld tabelscanning, fordi fuld tabelscanning skal læse alle datasider i tabellen fra disken, og hvis der er et indeks, der peger på en dataværdi, behøver forespørgslen kun at læse et par gange til disken. Derfor kan rimelig brug af indekser fremskynde forespørgslen af data. Indekser forbedrer dog ikke altid systemets ydeevne, indekserede tabeller skal optage mere lagerplads i databasen, og den samme kommando til at ændre og slette data vil tage længere tid at køre og vedligeholde indekset. Derfor må vi bruge indekset rimeligt og opdatere det i tide for at fjerne det suboptimale indeks.
Klassifikation af indekser
Indekset ligner indholdsfortegnelsen foran den kinesiske ordbog, og du kan hurtigt finde det ord, du vil finde, baseret på pinyin eller hovedstad. UNIK: Indeksværdien for hver række er unik (en unik begrænsning oprettes, og systemet vil automatisk oprette et unikt indeks). Primærnøgleindeks: Den primære nøglekolonne, der angives, når tabellen oprettes, opretter automatisk et primærnøgleindeks og har unikke karakteristika. KLYNGED: Klyngede indekser svarer til at bruge en ordbogs pinyin-opslag, fordi det klyngede indeks gemmer poster, der er fysisk kontinuerlige, det vil sige, at pinyin a skal efterfølges af b. IKKE-klyngede: IKKE-klyngede indekser svarer til at bruge ordbogsradikaler til opslag, ikke-klyngede indekser er logisk kontinuerende, og fysisk lagring er ikke sammenhængende. Et klynget indeks kan kun have én tabel i en tabel, mens et ikke-klynget indeks kan have mere end én tabel i en tabel.
Hvilke felter skal indekseres
1. Tabellens primære og fremmede nøgler skal have et indeks 2. Tabeller med mere end 300 data bør have et indeks 3. Tabeller, der ofte er forbundet med andre tabeller, bør indekseres på de forbundne felter 4. Felter, der ofte optræder i Where-klausulen, især dem i store tabeller, bør indekseres 5. Felter, der ofte sorteres eller grupperes (dvs. udfører GROUP BY eller ORDER BY-operationer), bør indekseres 6. Indekset bør bygges på meget selektive felter 7. Indekset bør bygges på små felter, for store tekstfelter eller endda ultralange felter, ikke bygge indekser, og brug heltal som nøgleværdier som muligt, fordi heltal har den hurtigste adgangshastighed 8. Etableringen af sammensatte indeks skal analyseres omhyggeligt; Prøv i stedet at overveje at bruge enkeltfeltindekser 9. Tabeller, der ofte udfører datamanipulation, bør ikke indekseres for meget 10. Slet ubrugelige indekser for at undgå negativ indvirkning på eksekveringsplanen
Ulempen ved for mange indeks
1. Lagerpladsen vil blive større, og hvert indeks skal opbevares i rummet 2. Hvis der er mange ikke-klyngede indekser, vil alle ikke-klyngede indeks ændre sig tilsvarende, når det klyngede indeks ændres 3. For mange indekser vil føre til en stigning i antallet af kombinationer, der skal evalueres i optimeringsprocessen med optimeringsmaskinen, hvilket øger forespørgselstiden 4. Hvert indeks har statistiske oplysninger, og jo flere indeks, desto mere statistisk information, hvilket øger forespørgselstiden 5. Opdateringsoverhead, når et data ændres, og der er mange kolonner ændret, kan det medføre, at flere indekser ændres, hvilket resulterer i opgradering, slet og indsættelse af hastigheden
|
Tidligere:Teenager stærk akkompagnement MV videoNæste:C# får det aktuelle systemdiskbogstav, systemmappe, skrivebord osv
|