SQL szerver - Mi a különbség a fürtözött és nem fürtözött indexek
Nem fürtözött index
- Ezt fel lehet használni többször az asztalnál
- Gyorsabb beszúrni és frissítési műveletek, mint a fürtözött index
Mindkét mutató, mint a jobb teljesítményt, amikor adatokat mezők használja az indexet, de lelassítja a műveletet frissítések és betétekkel.
A lassú betét és frissítés fürtözött indexek kell telepíteni a területen, amely jellemzően egyedi, azaz a Id vagy időbélyeg.
SQL Server tipikusan az az index, ha annak szelektivitás 95% feletti.
Válaszol Martynnw május 22 '17 at 09:17
Nem kell aggódnia, hogy mi van x. Minden, amit tudnia kell -, hogy az alkalmazások több millió felhasználó x lesz jelentős - Pacerier május 22 '17 at 09:17
Vannak még megfontolások tárolásra. Behelyezésekor sorokat egy táblázatot nélkül fürtözött sorindex tárolt egy oldalon szorosan, és frissítés vonalak vezethet az elmozdulás a karakterlánc végén a táblázat, hagyva egy üres tér és fragmentáló asztal és indexek. - Jeremiah Peschka május 22 '17 at 09:17
@StephaniePage: Kíváncsi vagyok, ezt hogyan fogják mérni „szelektivitás”? A mutató, amely egyetlen érték a 999 900 bejegyzés és egy érték 100, nagyon hasznos lehet, ha valaha is arra használja, hogy keressen 100. - Supercat május 22 '17 at 09:17
Az ötlet, hogy 95% a rekordok egyedinek kell lennie - félrevezető. Tegyük fel, hogy van egy asztal 1.000.000 sorok, és akkor index oszlopon 500.000 kulcsokat. 0% egyedi, de minden gomb 2 visszatér millió sort. Ez az index teljesen hasznos, függetlenül attól, hogy a 0% az iratok egyedülálló. - Stephanie Oldal május 22 '17 at 09:17
Például, ha valaki elkezdett egy üres, nem fürtözött adatbázis és 10 000 rekordot véletlenszerű sorrendben ír ki, amelyek feltehetően a végén abban a sorrendben, ahogy azokat hozzá. olvassa el az adatbázist annak érdekében, az index lenne szükség 10.000 egyetlen mérés. Azonban ha egy fürtözött adatbázis, a rendszer ellenőrzi, hogy minden bejegyzés hozzá, amikor a korábbi rekordot tartotta magától; Ha megállapítást nyer, hogy így van, hogy tud írni ezt a bejegyzést az új végén az adatbázisban. Aztán látta, hogy a fizikai rekord előtt a rések, ahol bejegyzés kényszerült, és látni, hogy a tárolt rekord követett, maga. Ha megállapítást nyer, hogy úgy, ahogy van, akkor mozgassa a bejegyzés ezen a helyen. Egy ilyen megközelítés vezetne, hogy sok bejegyzések csoportosíthatók párban, hogy a potenciálisan szinte megduplázódott szekvenciális olvasási sebesség.
Válaszol Supercat május 22 '17 at 09:17
Fürtözött indexek jól működik zenekarok (pl select * from my_table, ahol my_key között @min és @max)
Egyes esetekben az adatbázisokat nem kell rendezni, ha használja a orderby nyilatkozatot.
Fürtözött indexek lassíthatják betétek, mert a fizikai elrendezés rekordok meg kell változtatni, mint a bemeneti rekordokat, amikor az új kulcsok nem sorrendben.
Válaszol Giovanni Galbo május 22 '17 at 09:17
A fürtözött index lényegében egy másolatot az adatok rendezve indexált oszlopok.
A fő előnye a fürtözött index az, hogy ha a lekérdezés (keresés) az adatokat az index, akkor a kivonat az adatokat nem kell további input-output.
Írásvetítő, hogy támogassa a fürtözött index, főleg a gyakran frissített táblázat vezethet gyenge teljesítmény, és ez okból előnyös lehet létrehozni egy nem fürtözött index.
Válaszol Ed Guiness május 22 '17 at 09:17
Fürtözött index valóban leírja, hogy milyen sorrendben rekordok fizikailag a lemezen tárolt, így csak az egyik.
Nem fürtözött index határozza meg a logikus, hogy nem egyezik a fizikai érdekében a lemezen.
Válaszol Josh május 22 '17 at 09:17