oracle 修改主键_Oracle数据库之索引

1 索引简介

  • 索引是与表相关的一个可选结构
  • 用以提高 SQL 语句执行的性能
  • 减少磁盘I/O
  • 使用 CREATE INDEX 语句创建索引
  • 在逻辑上和物理上都独立于表的数据 Oracle 自动维护索引

索引有各种类型,除了标准索引外,还有一些特殊类型的索引:

c0851a0d6aa8ad4fd50c510cf65a9aaf.png

2 索引创建修改删除

创建标准索引

 CREATE INDEX item_index ON itemfile (itemcode) TABLESPACE index_tbs;

重建索引

SQL> ALTER INDEX item_index REBUILD; 

删除索引

SQL> DROP INDEX item_index;

3 唯一索引

唯一索引确保在定义索引的列中没有重复值

Oracle 自动在表的主键列上创建唯一索引

使用CREATE UNIQUE INDEX语句创建唯一索引

 SQL> CREATE UNIQUE INDEX item_index ON itemfile (itemcode);

4 组合索引

组合索引是在表的多个列上创建的索引

索引中列的顺序是任意的

如果 SQL 语句的 WHERE 子句中引用了组合索引的所有列或大多数列,则可以提高检索速度

SQL> CREATE INDEX comp_index ON itemfile(p_category, itemrate);

5 反向键索引

反向键索引反转索引列键值的每个字节

通常建立在值是连续增长的列上,使数据均匀地分布在整个索引上

创建索引时使用REVERSE关键字

1001 1001

1002 2001

1003 3001

1004 4001

1005 5001

SQL> CREATE INDEX rev_index  ON itemfile (itemcode) REVERSE; SQL> ALTER INDEX rev_index REBUID NOREVERSE;

6 位图索引

位图索引适合创建在低基数列上

位图索引不直接存储ROWID,而是存储字节位到ROWID的映射

减少响应时间

节省空间占用

1cc4bad9ba7411f0f1f7455081eae9fa.png

SQL> CREATE BITMAP INDEX bit_index

ON order_master (orderno);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值