Oracle 之索引

一:概念:索引是建立在数据库表中的某些列的上面,是与表关联的,可提供快速访问数据方式,但会影响增删改的效率;常用类型(按逻辑分类);单列索引和组合索引、唯一索引和非唯一索引。

二:什么时候需要创建索引:

(1):在经常需要搜索、主键、连接的列上。

(2):表很大,记录内容分布范围很广。

(3):在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。

(4):在经常使用在WHERE子句中的列上面创建索引。

三:什么时候不要创建索引:

(1):表经常进行INSERT、UPDATE、DELETE操作

(2):表很小(记录少)

(3):列名不经常定义为text,image和bit数据类型的列不应该增加索引

四:语法及例子

创建索引:

    语法:CREATE [UNIQUE] INDEX <index_name> ON <table_name> (字段 [ASC|DESC])

    说明:UNIQUE -- 确保所有的索引列中的值都是可以区分的。

               [ASC|DESC] --在列上指定排序创建索引。

    创建索引的准则:1:如果表里有几百行的记录则可以对其创建索引(数据越多索引的效果越明显)

                                2:不要试图对表创建两个或者三个以上的索引。

                                3:为频繁使用的行创建索引。

    示例:创建单列唯一索引,表中的列值将不允许重复 create unique index index_emp_empno on emp(empno);

              创建单列非唯一索引 create index index_emp_ename on emp(ename);

              创建组合列、唯一索引 create unique index index_emp_ename_job on emp(ename,job);

              创建组合列、非唯一索引 crate index index_emp_job_sal on emp(job,sal);

删除索引:

    语法:DROP INDEX <index_name>;

    示例: Drop index index_emp_empno;

            Drop index index_emp_ename;

            Drop index index_emp_ename_job;

            Drop index index_emp_job_sal;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值