序列、视图、索引(面试看这个就GO了)

oracle内置对象 序列、视图、索引

序列 create sequence aaa start with 1;

输入图片说明

使用

输入图片说明

视图

输入图片说明

创建好之后 然后直接用

输入图片说明

就OK了 有了视图可以代替子查询,使得sql简洁 视图存放的不是真正的数据,而是查询语句 通过视图可以修改基表

输入图片说明

前提是视图的数据结构要和基表的数据结构是一样的才可以! 只读视图 但是视图是用来看的,不是用来改的 那么如何在创建视图时以后不让做修改操作呢?答案如下:

输入图片说明

检查视图 还有一种情况,如果要修改视图,那么视图列本身是没有约束的,那么加上检查视图,就可以到基表中去做约束检查

输入图片说明

以上都为简单视图 多表联查的结果为复杂视图,仅仅只能用来简化查询 注意:能用表的地方都能用视图!

终于到了索引! 索引的作用

输入图片说明

面试题:海量数据如何查询速度快:索引+优化

OK,我们来学习索引 当我们为列创建约束的时候,有一些约束自动就为我们创建了索引

输入图片说明

索引分好多种,上面自动添加的叫做唯一值索引 接下来我们自己建索引,叫做普通索引 单字段索引:

输入图片说明

多字段索引

输入图片说明

其实,索引是一张表,就像书的目录一样,查询东西能够快速定位,不用一页一页的翻来找。 另外,索引是站数据库硬盘和内存空间的,也就是所谓的耗费资源换取速度 最重要的是,为字段加索引之后,是可以换取速度的加快,但是同时会降低增删改的速度,因为做增删改操作的时候,会更新索引表,相当于耗费了两倍的速度! 索引表是数据库自动为我们维护,不用我们自己维护,这就是索引另一个最大的好处。

特殊索引:位图索引 有一种情况,创建的某些列的数据仅仅只有几类情况,比如说 性别:只有男女 某学校学生表的班级:只有一年级二年级到六年级 那么想要快速定位这些数据,比如,我想要查某学校10万学生里二年级的人的信息 那么我们需要一种特殊的索引,叫做位图索引

输入图片说明

当我查询

输入图片说明

这句话的时候,会很快

加索引规则,只有常用的where限定列,才加索引

输入图片说明

比如我要经常查时间段,也就是where中界定时间段,那么我们就给时间列加索引

输入图片说明

转载于:https://my.oschina.net/u/3189920/blog/842844

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值