index(索引)管理

本文详细介绍了SQL中索引的创建、维护及监控方法,包括普通索引、唯一索引、在线索引等多种类型的创建方式,以及如何进行索引重建、状态修改等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

索引聚合:
    alter index index_name COALESCE;

创建普通索引:
    CREATE INDEX index_name ON emp(ename) TABLESPACE users STORAGE (INITIAL 20K NEXT 20k);

创建唯一索引:
    CREATE UNIQUE INDEX  unique_index_name ON dept(dname) TABLESPACE indx;

在线创建索引:
    CREATE INDEX index_name ON emp(mgr, emp1, emp2, emp3) ONLINE;

创建基于函数的索引:
    CREATE INDEX area_index ON rivers (area(geo));
    SELECT id, geo, area(geo), desc FROM rivers WHERE Area(geo) >5000;

创建Key-Compressed索引:
    CREATE INDEX  emp_ename ON emp(ename) TABLESPACE users COMPRESS 1;
    ALTER INDEX emp_ename REBUILD NOCOMPRESS;

创建bitmap索引:
    Create bitmap index index_name on table1(id) pctfree 20 tablespace users nologging;

重建索引:
    ALTER INDEX emp_name REBUILD;
    ALTER INDEX emp_name REBUILD ONLINE;
    ALTER INDEX index_name rebuild tablespace users;
    判断是否需要重建索引:
        首先ALTER INDEX index_name validate STRUCTURE 分析索引
        查询视图INDEX_STATS如果满足下面3个条件则建议重建或者聚合索引
        height >4
        pct_used < 50%
        del_lf_rows / lf_rows +0.001 > 0.03
        select height , pct_used, del_lf_rows/lf_rows +0.001 from index_stats where name='INDEX_TI'
修改索引状态:
    ALTER INDEX emp_email_uk UNUSABLE;
    ALTER INDEX emp_email_uk USABLE;

修改索引是否可见(11g新特性):
    ALTER INDEX index INVISIBLE;
    ALTER INDEX index VISIBLE;

修改索引名:
    ALTER INDEX index_name RENAME TO new_name;

监控索引使用:
    ALTER INDEX index MONITORING USAGE; //开启监控
    Select * from V$OBJECT_USAGE;//查询监控结果
    ALTER INDEX index NOMONITORING USAGE;//关闭监控

监控索引使用空间:
    ALTER INDEX index_name validate STRUCTURE;//先分析索引
    SELECT PCT_USED FROM INDEX_STATS WHERE NAME = 'index_name';//查询空间使用情况

删除索引:
    DROP INDEX   index_name


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值