oracle中索引的使用

声明:以下内容是自己跟着教学视屏学习之后整理而来(主要是自用),如有侵权请告知,将尽快删除。

一、索引

1. 概述:
数据库对象之一
索引用于提高查询效率
索引的内建工作对用户是透明的,由数据库自行维护,我们只需要指定是否添加索引。
索引是为表中字段添加的。当一个字段经常出现在WHERE中作为过滤条件,或 ORDER BY 或 DISTINCT中时可以为其添加索引以提高查询效率。

2.索引的使用

(1) 单一索引

--创建索引
CREATE INDEX idx_emp_ename_ning
ON emp(ename)

SELECT ename,job,deptno FROM emp_ning WHERE ename='惜月'

(2) 复合索引:基于多个列的索引

CREATE INDEX idx_emp_job_sal_ning ON emp_ning(job,sal)
SELECT empno,ename,sal,job FROM emp_ning ORDER BY job,sal

(3)创建基于函数的索引

--在emp表的ename列上执行大小写无关的搜索
CREATE INDEX emp_ename_upper_idx_ning ON emp_ning(UPPER(ename))
SELECT * FROM emp_ning WHERE UPPER(ename)='惜月'

(4) 修改和删除索引

a.重建索引:如果经常在索引列上执行DML操作,需要定期重建索引
ALTER INDEX idx_emp_ename_ning REBUILD
b.删除索引
DROP INDEX idx_emp_ename_ning

猜你喜欢

转载自www.cnblogs.com/shiyun32/p/9293425.html
今日推荐