Oracle索引和重构

索引创建

-- B树索引
CREATE [UNIQUE] INDEX INDEX_NAME ON TABLE_NAME(COLUMN_NAME1,……);

-- 反向键索引
CREATE INDEX INDEX_NAME ON TABLE_NAME(COLUMN_NAME1,……) REVERSE;

-- 函数索引
CREATE [UNIQUE] INDEX INDEX_NAME ON TABLE_NAME(UPPER(COLUMN_NAME1),……);

-- 位图索引
CREATE BITMAP INDEX INDEX_NAME ON TABLE_NAME(COLUMN_NAME1,……);

索引状态

SELECT
	table_owner,
	index_name,
	table_name,
	status 
FROM
	dba_indexes 
WHERE
	index_name = 'index_name';

索引删除

DROP INDEX INDEX_NAME;

索引重构

-- 删除索引,重新建立
DROP INDEX INDEX_NAME;
CREATE INDEX INDEX_NAME ON TABLE_NAME(COLUMN_NAME,……);

-- 索引重构(REBUILD会阻塞DML操作,而REBUILD ONLINE不会)
ALTER INDEX INDEX_NAME REBUILD;
或者
ALTER INDEX INDEX_NAME REBUILD ONLINE;

 

posted @ 2025-04-21 23:25  伊文小哥  阅读(23)  评论(0)    收藏  举报