Oralce索引

索引

索引的分类:

  • 唯一性索引和非唯一性索引

    唯一性索引是索引值不重复的索引,非唯一性索引是索引值可以重复的索引。无论是唯一性索引还是非唯一性索引,索引值都允许为NULL。在默认情况下,Oracle创建的索引是非唯一性索引。

    当在表中定义主键约束或唯一性约束时,Oralce会自动在相应列上创建唯一性索引

  • 平衡树索引与位图索引

    平衡树索引又称B树索引,是按照平衡树算法来组织索引的,在树的叶子节点中保存了索引值及其ROWID。在Oracle数据库中创建的索引默认为平衡树索引。平衡树索引包括唯一性索引、非唯一性索引、反键索引、单列索引、复合索引等多种。平衡树索引占用空间多,适合索引基数高、重复率低的索引。

    位图索引实际上是一个二维数组,列数由索引值的基数决定,行数由表中记录的个数决定。位图索引占用空间小,适合索引值基数少,重复率高的应用。

  • 单列索引与复合索引

    索引可以建立在一列上,也可以创建在多列上。创建在一列上的索引称为单列索引,创建在多列上的索引称为复合索引。

  • 函数索引

    函数索引是指基于包含列的函数或表达式创建的索引(索引值为计算后的值)。在函数索引的表达式中可以使用各种算术运算符、PL/SQL函数和内置SQL函数。

1、创建索引
  • 创建非唯一性索引

    --在默认情况下,CREATE INDEX语句创建的是非唯一性的B树索引。
    CREATE INDEX emp_sal_idx ON emp(sal);
    
  • 创建唯一性索引

    CREATE UNIQUE INDEX dept_name_idx ON dept(dname);
    
  • 创建位图索引

    CREATE BITMAP INDEX student_sex_idx ON student(sex);
    
  • 创建反键索引

    所谓反键索引是指将索引列字节内容反过来,能够提高某些使用并行服务器的OLTP应用的性能。

    CREATE INDEX player_sage ON player(sage) REVERSE;
    
2、修改索引
  • 合并索引

    对索引的合并操作只是简单地将B树叶节点中的存储碎片合并在一起,并不会改变索引的物理组织结构(包括存储空间参数和表空间参数等)

    ALTER INDEX emp_sal_idx COALESCE;
    
  • 重建索引

    重建索引的实质是在指定的表空间中重新建立一个新的索引,然后再删除原来的索引,这样不仅能够消除索引碎片,还可以改变索引的存储参数设置,并且将索引移到其它表空间中。

    ALTER INDEX player_sage_idx REBUILD;
    
  • 索引重命名

    ALTER INDEX emp_name_idx RENAME TO emp_new_name;
    
3、删除索引

如果索引是定义约束时自动建立的,则在禁用约束或删除约束时会自动删除对应的索引。另外,在删除表时会自动删除与其相关的所有索引。

DROP INDEX emp_name_idx;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值