前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习Oracle-索引

快速学习Oracle-索引

作者头像
cwl_java
发布2019-12-19 21:13:55
4850
发布2019-12-19 21:13:55
举报
文章被收录于专栏:cwl_Javacwl_Java
简介

索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低 i/o 次数,从而提高数据访问性能。索引有很多种我们主要介绍常用的几种:

为什么添加了索引之后,会加快查询速度呢? 图书馆:如果杂乱地放书的话检索起来就非常困难,所以将书分类,然后再建一个箱子,箱子里面放卡片,卡片里面可以按类查询,按书名查或者类别查,这样的话速度会快很多很多,这个就有点像索引。索引的好处就是提高你找到书的速度,但是正是因为你建了索引,就应该有人专门来维护索引,维护索引是要有时间精力的开销的,也就是说索引是不能乱建的,所以建索引有个原则:如果有一个字段如果不经常查询,就不要去建索引。现在把书变成我们的表,把卡片变成我们的索引,就知道为什么索引会快,为什么会有开销。

创建索引
  1. 单列索引 单列索引是基于单个列所建立的索引,比如:
代码语言:javascript
复制
CREATE index 索引名 on 表名(列名)
  1. 复合索引 复合索引是基于两个列或多个列的索引。在同一张表上可以有多个索引,但是要求列的组合必须不同,比如:
代码语言:javascript
复制
Create index emp_idx1 on emp(ename,job);
Create index emp_idx1 on emp(job,ename);

范例:给 person 表的 name 建立索引

代码语言:javascript
复制
create index pname_index on person(name);

范例:给 person 表创建一个 name 和 gender 的索引

代码语言:javascript
复制
create index pname_gender_index on person(name, gender);
索引的使用原则
  • 在大表上建立索引才有意义
  • 在 where 子句后面或者是连接条件上的字段建立索引
  • 表中数据修改频率高时不建议建立索引
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 创建索引
  • 索引的使用原则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档