miért nulla a nullpont az Oracle DB egyes indexeinél?

Próbáltam megnézni az indexek b-fa szintjét, és meglepetésemre látom, hogy némelyikük nullára van állítva.

SELECT index_name, blevel FROM user_indexes ORDER BY 2 desc; 

Nevük “SYS _” -vel kezdődik (az alábbi kép csatolva). Tehát feltételezem, hogy ezek rendszer által generált indexek? Esetleg elsődleges kulcsok? Akárhogy is vagyok kíváncsi arra, hogy miért semmisek. Megértem, ha az érték 0, ami azt jelenti, hogy minden levélcsomópontokban van, és csak 1 ugrás kell az egyedi vizsgálathoz az adatok megszerzéséhez.

ide írja be a kép leírását

Megjegyzések

  • Úgy néznek ki, mint a sys sémaobjektumok, ezért játszhatnak a saját szabályaik szerint. De a legvalószínűbb válasz az, hogy egyáltalán nincsenek csomópontok.
  • A *_indexes dokumentumok jó néhány statisztikai oszlopában (beleértve az elmosódást is) a " Az oszlopnevek, amelyeket csillag követ, csak akkor kerülnek feltöltésre, ha statisztikákat gyűjt az indexről az ANALYZE utasítás vagy a DBMS_STATS csomag használatával. " Gondolom, a motor nem ' nem hajtja végre ezeknek a parancsoknak egyikét vagy az összes rendszertábla-indexet …
  • Ezek a leb indexek, csak a lob indexek tulajdonsága lehet. Megpróbálhatja gyűjteni őket, de nem vagyok biztos benne, hogy az oracle mit csinálna belsőleg.

Answer

Indexek, amelyek A név kezdete SYS_IL.. LOB indexek.

BLEVEL a B-fa indexek tulajdonsága, és nem van értelme a LOB indexeknek.

Még akkor is, ha statisztikákat gyűjt, az BLEVEL egy ilyen index számára null marad.

Válasz

Köszönöm @Balazs az információkat.

Vizsgált ezen a környéken, és úgy néz ki –

A lebeny egyszerűen mutató, és olyan adatrészekre mutat, amelyek létrehozzák ezt a lebontást. Tehát amikor létrehoz egy lob oszlopot, akkor automatikusan kap egy lob indexet, így a lob adatcsomók gyorsabban lekérhetők, és az adatok darabjait megtartó szegmentálhatók.

Használja a következő lekérdezéseket ugyanezek ellenőrzésére –

SELECT index_name,INDEX_TYPE, blevel FROM user_indexes where blevel is null and index_name like "SYS_IL%%" ORDER BY 3 desc; 

A társított szegmensek megtekintéséhez –

select segment_name, segment_type, tablespace_name, bytes, max_extents from user_segments where segment_name in ( SELECT index_name FROM user_indexes where blevel is null and index_name like "SYS_IL%%" ); 

Ezt törölheti úgy, hogy eldobja azt a táblázatot, amelynek lob oszlopa vagy maga az oszlop.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük