Oracle索引管理常用操作

  1. 通过调整CREATE_BITMAP_AREA_SIZE来定义位图缓存内存区大小.当这个缓存足够大时,可以有效的加快位图索引的操作速度,因为操作是在内存中进行.
  2. 普通索引更适用OLTP类型的操作,即数据变化频繁.BITMAP更适合DSS类型的操作,即查询多,量大.但是所有的索引在执行DML类型操作时,消耗都比较大.  要慎用索引.
  3. 尽量使用统一的EXTENT尺寸,数据块大小的5倍或表空间MINIMUM EXTENT的尺寸.以减少系统的转换时间.
  4. 对索引可以考虑合理使用NOLOGGING.毕竟重建索引也不麻烦,丢失也没关系.这样可以提高系统平常的运行效率
  5. 查询索引信息
    SELECT index_name, table_name, tablespace_name, index_type, uniqueness, status FROM dba_indexes;
    和 (索引,列对照信息)
    SELECT index_name, table_name, column_name, index_owner, table_owner FROM dba_ind_columns;
    和 (存储信息)
    SELECT index_name, pct_free, pct_increase, initial_extent, next_extent,min_extents,max_extents FROM dba_indexes;
  6. 创建索引.注意不能指定PCTUSED,INITRANS可以较高,因为索引的数据一般较少,同时访问的几率较大.
    CREATE [UNIQUE | BITMAP] INDEX xxx_idx ON xxx(col_name)
    PCTFREE 20
    STORAGE(INITIAL 100K NEXT 100K PCTINCREASE 0 MAXEXTENTS 100)
    TABLESPACE abc_indx;
    其中NEXT参数的效果会服从于表空间的总体设定,本地管理的表空间基本上本参数不起作用.
  7. 重建索引.(可以同时使用存储子句和参数,不重建时也可直接使用)
    ALTER INDEX xxx_idx REBUILD
    PCTFREE 40
    STORAGE (NEXT 300K);
  8. 在线重建索引. 可以减少加锁时间,从而开放使用DML类型操作
    ALTER INDEX xxx_idx REBUILD ONLINE
  9. 手动拓展索引的空间
    ALTER INDEX xxx_idx ALLOCATE EXTENT;
  10. 收回未用到的空间
    ALTER INDEX xxx_idx DEALLOCATE UNUSED;
  11. 索引碎片整理
    ALTER INDEX xxx_idx COALESCE;
  12. 标识索引是否使用过
    ALTER INDEX xxx_idx MONITORING USAGE;

    查询:
    SELECT * FROM v$object_usage;
  13. 取消监控
    ALTER INDEX xxx_idx NOMONITORING USAGE;
  14. 删除索引
    DROP INDEX xxx_idx;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值