|
|
Zverejnené 20. 9. 2019 9:31:08
|
|
|

Koncept indexovania
Cieľom vytvorenia indexu je zlepšiť výkon databázového systému, zrýchliť rýchlosť dotazovania dát a skrátiť čas odozvy systému. Čo je to index: Index v databáze je podobný obsahu knihy, kde môžete rýchlo nájsť požadované informácie bez toho, aby ste čítali celú knihu. V databáze používa databázový program indexy na rýchle dotazovanie dát v tabuľke bez nutnosti skenovať celú tabuľku. Obsah v knihe je zoznam slov a čísel strán, na ktorých sa nachádzajú, a index v databáze je zoznam hodnôt v tabuľke, kde je každá hodnota uložená. Výhody a nevýhody indexovania: Väčšina režijných nákladov pri vykonávaní dotazov je I/O, a jedným z hlavných cieľov používania indexov na zlepšenie výkonu je vyhnúť sa úplnému skenovaniu tabuliek, pretože úplné skenovanie tabuliek vyžaduje načítanie každej dátovej stránky tabuľky z disku, a ak je tam index ukazujúci na dátovú hodnotu, dotaz sa musí na disk prečítať len niekoľkokrát. Preto rozumné použitie indexov môže urýchliť dotazovanie na dáta. Indexy však nie vždy zlepšujú výkon systému, indexované tabuľky musia zaberať viac úložného miesta v databáze a rovnaký príkaz na úpravu a mazanie dát bude trvať dlhšie na spustenie a údržbu indexu. Preto musíme index používať rozumne a včas ho aktualizovať, aby sme odstránili suboptimálny index.
Klasifikácia indexov
Index je podobný obsahu pred čínskym slovníkom a môžete rýchlo nájsť slovo, ktoré chcete nájsť, podľa pinyinu alebo veľkého písmena. JEDINEČNOSŤ: Hodnota indexu každého riadku je jedinečná (vytvorí sa jedinečné obmedzenie a systém automaticky vytvorí jedinečný index). Index primárneho kľúča: Stĺpec primárneho kľúča špecifikovaný pri vytváraní tabuľky automaticky vytvára index primárneho kľúča a má jedinečné charakteristiky. ZHLUKOVANÉ: Zhlukované indexy sú ekvivalentné používaniu vyhľadávania pinyinu v slovníku, pretože zhlukovaný index uchováva záznamy, ktoré sú fyzicky súvislé, teda pinyin a musí byť nasledovaný b. NEKLASTROVANÉ: NEKLASTROVANÉ indexy sú ekvivalentné používaniu slovníkových radikálov na vyhľadávanie, neklastrované indexy sú logicky spojité a fyzické úložisko nie je súvislé. Zhlukovaný index môže mať v tabuľke len jednu tabuľku, zatiaľ čo neklastrovaný index môže mať v tabuľke viac ako jednu tabuľku.
Ktoré polia je potrebné indexovať
1. Primárne a cudzie kľúče tabuľky musia mať index 2. Tabuľky s viac ako 300 údajmi by mali mať index 3. Tabuľky, ktoré sú často prepojené s inými tabuľkami, by mali byť indexované na prepojených poliach 4. Polia, ktoré sa často objavujú v klauzule Kde, najmä vo veľkých tabuľkách, by mali byť indexované 5. Polia, ktoré sú často triedené alebo zoskupované (t. j. vykonávajú operácie GROUP BY alebo ORDER BY), by mali byť indexované 6. Index by mal byť postavený na vysoko selektívnych poliach 7. Index by mal byť postavený na malých poliach, pre veľké textové polia alebo dokonca ultra-dlhé polia, nevytvárať indexy a používať celé čísla ako kľúčové hodnoty, pretože celé čísla majú najrýchlejší prístup 8. Zriadenie zložených indexov je potrebné starostlivo analyzovať; Skúste namiesto toho použiť indexy s jedným poľom 9. Tabuľky, ktoré často manipulujú s dátami, by nemali byť príliš indexované 10. Vymazať zbytočné indexy, aby sa predišlo negatívnemu vplyvu na realizačný plán
Nevýhoda príliš veľkého počtu indexov
1. Úložný priestor sa zväčší a každý index bude potrebné uložiť do priestoru 2. Ak je veľa neklastrovaných indexov, po zmene zhlukovaného indexu sa všetky neklastrované indexy zmenia podľa toho 3. Príliš veľa indexov vedie k zvýšeniu počtu kombinácií, ktoré je potrebné vyhodnotiť v optimalizačnom procese optimalizátora, čím sa predĺži čas dotazovania 4. Každý index obsahuje štatistické informácie a čím viac indexov, tým viac štatistických údajov, čo zvyšuje čas vyhľadávania 5. Režijné náklady na aktualizácie, keď sa dáta zmenia a zmení sa veľa stĺpcov, môže to spôsobiť zmenu viacerých indexov, čo vedie k spomaleniu aktualizácie, vymazania a vkladania
|
Predchádzajúci:Videoklip s výrazným sprievodom tínedžerovBudúci:C# získava aktuálne písmeno systémového disku, systémový adresár, pracovnú plochu a podobne
|