ORACLE操作-索引

    xiaoxiao2021-03-25  143

    查询索引:

    select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表

    删除索引:

    DROP INDEX [schema.]indexname;

    更新索引:

    ALTER [UNIQUE] INDEX [user.]index [INITRANS n] [MAXTRANS n] REBUILD [STORAGE n] 例: alter index pk_detno rebuild storage(initial 1m next 512k); 其中: REBUILD 是 根据原来的索引结构重新建立索引,实际是删除原来的索引后再重新建立。 提示:DBA经常用 REBUILD 来重建索引可以减少硬盘碎片和提高应用系统的性能。

    创建索引:


    CREATE INDEX CREATE [unique] INDEX [user.]index ON [user.]table (column [ASC | DESC] [,column [ASC | DESC] ] … ) [CLUSTER [scheam.]cluster] [INITRANS n] [MAXTRANS n] [PCTFREE n] [STORAGE storage] [TABLESPACE tablespace] [NO SORT] Advanced 例: Create index ename_in on emp (ename,sal); Create index DECL_NO on ODS_DCL_IO_DECL1(DECL_NO);

    其中: schema ORACLE模式,缺省即为当前帐户 index 索引名 table 创建索引的基表名 column 基表中的列名,一个索引最多有16列,long列、long raw 列不能建索引列 DESC、ASC 缺省为ASC即升序排序 CLUSTER 指定一个聚簇(Hash cluster不能建索引) INITRANS、MAXTRANS 指定初始和最大事务入口数 Tablespace 表空间名 STORAGE 存储参数,同create table 中的storage. PCTFREE 索引数据块空闲空间的百分比(不能指定pctused) NOSORT 不(能)排序(存储时就已按升序,所以指出不再排序)

    SELECT T .*, i.index_type FROM user_ind_columns T, user_indexes i WHERE T .index_name = i.index_name AND T .table_name = i.table_name order by t.table_name;

    转载请注明原文地址: https://ju.6miu.com/read-2303.html

    最新回复(0)