oracle索引
1、创建索引
- 单列索引
CREATE INDEX 索引名 ON 表名(列名);
- 复合索引
CREATE INDEX 索引名 ON 表名(列名1, 列名2, 列名3, ...);
2、删除索引
DROP INDEX 索引名;
3、修改索引
- 重命名索引
alter index 原索引名 rename to 新索引名;
- 合并索引
表使用一段时间后在索引中会产生碎片,此时索引效率会降低,可以选择重建索引或者合并索引,合并索引方式更好些,无需额外存储空间,代价较低
alter index 索引名 coalesce;
- 3)重建索引
方式一:删除原来的索引,再根据需要创建一个同名的索引。
方式二:
alter index 索引名 rebuild;
4、查看索引
- 查看某个表中的所有索引
SELECT * FROM ALL_INDEXES WHERE TABLE_NAME = '表名'
- 查看某个表中建立了索引的所有列
SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME = '表名'
5、判断sql走不走索引
-- 创建执行计划
EXPLAIN PLAN FOR
SELECT * FROM tabel where 1 = 1;
-- 查看执行过程
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
5、强制sql走索引
SELECT /*+INDEX(表名 索引名)*/* FROM 表名