-- Információk az indexekről a katalógusban (adatszótár nézetekben): -- DBA_INDEXES -- DBA_IND_COLUMNS (indexbeli oszlopok) -- DBA_IND_EXPRESSIONS (függvény alapú index kifejezései) -- Index szervezett tábla index része: DBA_INDEXES -> index_type és table_name oszlopok -- Index szervezett tábla tábla része: -- DBA_TABLES -> iot_name és iot_type oszlopok drop index emp1; drop index emp2; drop index emp3; drop index emp4; drop index emp5; drop index emp6; drop table cikk_iot; -- előtte: CREATE TABLE emp AS SELECT * FROM nikovits.emp; CREATE UNIQUE INDEX emp1 ON emp (ename); CREATE INDEX emp2 ON emp (empno, sal DESC); CREATE INDEX emp3 ON emp (empno, sal) REVERSE; CREATE INDEX emp4 ON emp (empno, ename, sal) COMPRESS 2; CREATE BITMAP INDEX emp5 ON emp (deptno); CREATE INDEX emp6 ON emp (SUBSTR(ename, 2, 2), job); CREATE TABLE cikk_iot ( ckod integer, cnev varchar2(20), szin varchar2(15), suly float, CONSTRAINT cikk_iot_pk PRIMARY KEY (ckod) ) ORGANIZATION INDEX PCTTHRESHOLD 20 INCLUDING cnev OVERFLOW TABLESPACE users; /******** A fenti indexekre vonatkozó információk az adatszótár nézetekben: -------------------------------------------------------------------- SELECT table_name, index_name, index_type, uniqueness, compression, prefix_length FROM dba_indexes WHERE table_owner='NIKOVITS' AND table_name='EMP'; tab ind index_type unique compress prefix ------------------------------------------------------------------ EMP EMP1 NORMAL UNIQUE DISABLED null EMP EMP2 FUNCTION-BASED NORMAL NONUNIQUE DISABLED null EMP EMP3 NORMAL/REV NONUNIQUE DISABLED null EMP EMP4 NORMAL NONUNIQUE ENABLED 2 EMP EMP5 BITMAP NONUNIQUE DISABLED null EMP EMP6 FUNCTION-BASED NORMAL NONUNIQUE DISABLED null A fenti eredményből látható, hogy a csökkenő sorrendű oszlopot (EMP2 indexben) is úgy tekinti a rendszer, mintha függvény alapú index volna. Valószínűleg úgy oldja meg belül, hogy (-1)-el megszorozza a kulcsértékeket. SELECT index_name, column_name, column_position, descend FROM dba_ind_columns WHERE table_owner='NIKOVITS' AND table_name='EMP'; ind col pos desc ----------------------------- EMP1 ENAME 1 ASC EMP2 EMPNO 1 ASC EMP2 SYS_NC00009$ 2 DESC EMP3 EMPNO 1 ASC EMP3 SAL 2 ASC EMP4 EMPNO 1 ASC EMP4 ENAME 2 ASC EMP4 SAL 3 ASC EMP5 DEPTNO 1 ASC EMP6 SYS_NC00010$ 1 ASC EMP6 JOB 2 ASC SELECT index_name, column_position, column_expression FROM dba_ind_expressions WHERE table_owner='NIKOVITS' AND table_name='EMP'; ind pos expr ---------------------- EMP2 2 "SAL" EMP6 1 SUBSTR("ENAME",2,2) Az index-szervezett táblára vonatkozó információk: SELECT table_name, index_name, index_type FROM dba_indexes WHERE owner='NIKOVITS' AND table_name='CIKK_IOT'; t_name i_name index_type ----------------------------------------- CIKK_IOT CIKK_IOT_PK IOT - TOP CIKK_IOT CIKK_IOT_SZIN NORMAL SELECT table_name, iot_name, iot_type FROM dba_tables WHERE owner='NIKOVITS' AND (table_name='CIKK_IOT' OR iot_name='CIKK_IOT'); table_name iot_name iot_type ----------------------------------------------- SYS_IOT_OVER_152024 CIKK_IOT IOT_OVERFLOW CIKK_IOT null IOT *********/