Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
A lemezterület fontos szempont az indexek létrehozása, újraépítése vagy elvetése során. A nem megfelelő lemezterület csökkentheti a teljesítményt, vagy akár az indexművelet meghiúsulását is okozhatja. Ez a cikk általános információkat tartalmaz, amelyek segítenek meghatározni az indexadat-definíciós nyelv (DDL) műveleteihez szükséges lemezterületet.
További lemezterületet nem igénylő indexelési műveletek
Az alábbi indexműveletek nem igényelnek további lemezterületet:
ALTER INDEX REORGANIZE; azonban naplóterületre van szükség.DROP INDEXa nem klaszterezett index elvetésekor.DROP INDEXha offline állapotba helyez egy fürtözött indexet aMOVE TOzáradék megadása nélkül, és nem léteznek nem fürtözött indexek.CREATE TABLE(PRIMARY KEYvagyUNIQUEkorlátozások)
További lemezterületet igénylő indexelési műveletek
Minden egyéb index DDL-művelethez további ideiglenes lemezterületre van szükség a művelet során, és állandó lemezterületre van szükség az új indexszerkezet vagy -struktúrák tárolásához.
Új indexstruktúra létrehozásakor a régi (forrás) és az új (cél)struktúrák lemezterülete szükséges a megfelelő fájlokban és fájlcsoportokban. A régi struktúra nem lesz felszabadítva, amíg az indexlétrehozás tranzakciója le nem véglegesít.
A következő index DDL-műveletek új indexstruktúrákat hoznak létre, és további lemezterületet igényelnek:
CREATE INDEXCREATE INDEX WITH DROP_EXISTINGALTER INDEX REBUILD-
ALTER TABLE ADD CONSTRAINT(PRIMARY KEYvagyUNIQUE) -
ALTER TABLE DROP CONSTRAINT(PRIMARY KEYvagyUNIQUE) ha a korlátozás fürtözött indexen alapul -
DROP INDEX MOVE TO(Csak fürtözött indexekre vonatkozik.)
Ideiglenes lemezterület rendezés céljára használható
A forrás- és célstruktúrákhoz szükséges lemezterület mellett ideiglenes lemezterületre is szükség van a rendezéshez, kivéve, ha a lekérdezésoptimalizáló olyan végrehajtási tervet talál, amely nem igényel rendezést.
Ha rendezésre van szükség, a rendezés egyszerre egy új indexet jelent. Amikor például egy fürtözött indexet, és az azon belüli társított nem fürtözött indexeket újraépít egyetlen utasítással, az indexek sorban egymás után rendeződnek. Ezért a rendezéshez szükséges további ideiglenes lemezterületnek csak akkoranak kell lennie, mint a művelet legnagyobb indexe. Ez szinte mindig a klaszteres index.
Ha a SORT_IN_TEMPDB beállítás be van állítva ON, a legnagyobb indexnek bele kell férnie tempdb. Bár ez a beállítás növeli az index létrehozásához használt ideiglenes lemezterületet, csökkentheti az index létrehozásához szükséges időt, ha tempdb a felhasználói adatbázistól eltérő lemezen van.
Ha SORT_IN_TEMPDB az alapértelmezett értékre OFF van állítva, az egyes indexek , beleértve a particionált indexeket is, a céllemezterületen lesznek rendezve, és csak az új indexstruktúrák lemezterülete szükséges.
A lemezterület kiszámításához lásd az Index lemezterület példáját.
Ideiglenes lemezterület online indexelési műveletekhez
Amikor online végzi az indexműveleteket, további ideiglenes lemezterületre van szükség.
Fürtözött index online létrehozása, újraépítése vagy törlése esetén a rendszer egy ideiglenes, nem fürtözött indexet hoz létre a régi könyvjelzők új könyvjelzőkhöz való leképezésére. Ha a SORT_IN_TEMPDB beállítás ON értékre van állítva, ez az ideiglenes index a tempdb-ben jön létre. Ha SORT_IN_TEMPDB be van állítva OFF, a rendszer ugyanazt a fájlcsoportot vagy partíciós sémát használja, mint a célindexet. Az ideiglenes leképezési index a táblázat minden sorához egy rekordot tartalmaz, tartalma pedig a régi és az új könyvjelzőoszlopok egyesítése, beleértve az egyedi azonosítókat és a rekordazonosítókat, valamint a mindkét könyvjelzőben használt oszlopok egyetlen másolatát. Az online indexműveletekkel kapcsolatos további információkért lásd: Indexműveletek online végrehajtása.
Megjegyzés:
Az SORT_IN_TEMPDB beállítást nem lehet beállítani DROP INDEX utasításokhoz. Az ideiglenes leképezési index mindig ugyanabban a fájlcsoportban vagy partíciós sémában jön létre, mint a célindex.
Az online indexelési műveletek sorverzióval elkülönítik az indexműveletet a más tranzakciók által végrehajtott módosítások hatásaitól. Így nem szükséges megosztási zárolást kérni az olvasott sorokhoz. Az online indexműveletek során végzett egyidejű felhasználói frissítési és törlési műveletekhez hely szükséges a verziórekordok számára.tempdb További információ: Indexműveletek online végrehajtása .
Kapcsolódó tevékenységek
- Lemezterület-index példa
- A naplófájl lemezterülete indexműveletekhez
- Tábla méretének becslése
- Fürtözött index méretének becslése
- Nem klaszterezett index méretének becslése
- Halom méretének becslése