阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle 索引 index 浅释

198次阅读
没有评论

共计 789 个字符,预计需要花费 2 分钟才能阅读完成。

索引是一个模式对象,其中包含每个值的条目,该条目出现在表或集群的索引列中,并提供对行的直接快速访问。

创建一个索引:create index 索引名 on 表名 (字段名);

删除索引:  drop index 索引名

建立索引的目的就是为了加快查询速度, 建立索引后会使 DML 操作效率慢,但是对用户查询会提高效率。删除一个表时,相对应的索引也会删除。另外, 索引是会进行排序。

创建索引就是为了减少物理读,索引会减少扫描的时间。在经常要用到 where 的子句的字段,应该使用索引,另外还要看所查询的数据与全部数据的百分比,表越大,查询的记录越少,索引的效率就越高.;

举例:

CREATE INDEX upper_ix ON employees (UPPER(last_name));

使用:

SELECT first_name, last_name  FROM employees WHERE UPPER(last_name) IS NOT NULL  ORDER BY UPPER(last_name);

为了增加 Oracle 数据库使用索引而不是执行全表扫描的可能性,请确保函数在后续查询中返回的值不为空。如果没有 WHERE 子句,Oracle 数据库可能会执行全表扫描。

注意事项:

WHERE 之后的字段条件,需与索引一致,否则可能失效。

如:CREATE INDEX ix_birth  mployees (birthday);

查询语句:select  birthday  from  mployees  where to_char(birthday,’YYYY-MM’)=’2018-01′;

结果:索引没有效果

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2018-01/150469.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计789字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中