|
|
Geplaatst op 20-09-2019 09:31:08
|
|
|

Het concept van indexering
Het doel van het opstellen van een index is om de prestaties van het databasesysteem te verbeteren, de querysnelheid van data te versnellen en de responstijd van het systeem te verkorten. Wat is een index: Een index in een database lijkt op een inhoudsopgave van een boek, waarbij je snel de informatie kunt vinden die je wilt zonder het hele boek te hoeven lezen. In een database gebruikt een databaseprogramma indexen om snel gegevens in een tabel op te vragen zonder de hele tabel te hoeven scannen. De inhoudsopgave in een boek is een lijst van woorden en de paginanummers waarin ze zich bevinden, en de index in de database is een lijst van waarden in een tabel en waar elke waarde wordt opgeslagen. Voor- en nadelen van indexering: Het grootste deel van de overhead van query-uitvoering is I/O, en een van de belangrijkste doelen van het gebruik van indexen om de prestaties te verbeteren is het vermijden van volledige tabelscanning, omdat volledige tabelscanning elke datapagina van de schijf moet lezen, en als er een index is die naar een datawaarde wijst, hoeft de query slechts een paar keer naar de schijf te lezen. Daarom kan het redelijke gebruik van indexen de gegevensopvraging versnellen. Indexen verbeteren echter niet altijd de prestaties van het systeem; geïndexeerde tabellen moeten meer opslagruimte in beslag nemen in de database, en hetzelfde commando om data te wijzigen en te verwijderen duurt langer om de index te draaien en te onderhouden. Daarom moeten we de index redelijk gebruiken en deze op tijd bijwerken om de suboptimale index te verwijderen.
Classificatie van indexen
De index lijkt op de inhoudsopgave voor het Chinese woordenboek, en je kunt snel het woord vinden dat je wilt vinden volgens de pinyin of de hoofdletter. UNIEK: De indexwaarde van elke rij is uniek (er wordt een unieke constraint gecreëerd, en het systeem maakt automatisch een unieke index). Primaire Sleutelindex: De primaire sleutelkolom die wordt gespecificeerd bij het aanmaken van de tabel maakt automatisch een primaire sleutelindex en heeft unieke kenmerken. GECLUSTERD: Geclusterde indexen zijn gelijk aan het gebruik van de pinyin-zoekopdracht van een woordenboek, omdat de geclusterde index records opslaat die fysiek continu zijn, dat wil zeggen dat pinyin a gevolgd moet worden door b. NIET-geclusterd: NIET-geclusterde indexen zijn gelijk aan het gebruik van woordenboekradicalen om op te zoeken, niet-geclusterde indexen zijn logisch continu en fysieke opslag is niet aaneengesloten. Een geclusterde index kan slechts één tabel in een tabel hebben, terwijl een niet-geclusterde index meer dan één tabel in een tabel kan hebben.
Welke velden moeten worden geïndexeerd
1. De primaire en vreemde sleutels van de tabel moeten een index hebben 2. Tabellen met meer dan 300 gegevens moeten een index bevatten 3. Tabellen die vaak met andere tabellen verbonden zijn, moeten worden geïndexeerd op de verbonden velden 4. Velden die vaak voorkomen in de Where-clausule, vooral die in grote tabellen, moeten worden geïndexeerd 5. Velden die vaak gesorteerd of gegroepeerd zijn (d.w.z. uitvoeren GROUP BY- of ORDER BY-operaties) moeten worden geïndexeerd 6. De index moet worden opgebouwd op zeer selectieve velden 7. De index moet worden gebouwd op kleine velden, voor grote tekstvelden of zelfs ultralange velden, geen indexen bouwen en gehele getallen als sleutelwaarden gebruiken, omdat gehele getallen de snelste toegangssnelheid hebben 8. De vaststelling van samengestelde indexen moet zorgvuldig worden geanalyseerd; Probeer in plaats daarvan enkelveldindexen te overwegen 9. Tabellen die vaak datamanipulatie uitvoeren, moeten niet te veel worden geïndexeerd 10. Verwijder nutteloze indexen om negatieve gevolgen voor het uitvoeringsplan te voorkomen
Het nadeel van te veel indexen
1. De opslagruimte wordt groter en elke index moet in de ruimte worden opgeslagen 2. Als er veel niet-geclusterde indexen zijn, zullen alle niet-geclusterde indexen dienovereenkomstig veranderen zodra de geclusterde index verandert 3. Te veel indexen zullen leiden tot een toename van het aantal combinaties dat geëvalueerd moet worden in het optimalisatieproces van de optimizer, waardoor de querytijd toeneemt 4. Elke index bevat statistische informatie, en hoe meer indexen, hoe meer statistische informatie, wat de zoektijd vergroot 5. Update-overhead: zodra een data verandert en er veel kolommen zijn veranderd, kan dit meerdere indexen veranderen, wat resulteert in vertraging van update, verwijderen en invoegen
|
Vorig:Tiener sterke begeleiding MV videoVolgend:C# krijgt de huidige systeemschijfletter, systeemdirectory, bureaublad, enzovoort
|