Oracle-索引学习

索引

索引的创建语句

  1. 单列索引
create index 索引名 on 表名(列名)
  1. 多列索引
create index 索引名 on 表名(列名1,列名2....)
  1. 删除索引
Drop index 索引名
  1. 查看某个表中的所有的索引
select * from all_indexs where table_name='表名'
  1. 查看某个表中建立索引的所有列
select * from all_ind_columns where table_name='表名'

索引的优缺点:

  • 优点
    1. 很大的提高了数据的检索速度
    2. 创建唯一索引能保证数据库表中的每一行数据的唯一性。
    3. 提高了表与表之间的连接速度
  • 缺点
    1. 索引需要占用物理控件
    2. 当对表中的数据进行增删改的时候,索引也需要动态的维护,降低数据的维护速度。

查询优化器:

当Oracle拿到SQL语句的时候,会使用查询优化器去分析该语句,并根据分析结果生成查询执行计划。也就是说,数据库是执行的查询计划,而不是SQL语句。

查询优化器有RBO(Rule-Based-Optimizer,基于规则的查询优化器)和CBO(Cost-Based-Optimizer,基于成本的查询优化器),其中基于规则的查询优化器在10g的版本中彻底消失了。原因是因为RBO最后的查询都是全表扫描,而CBO会根据统计信息选择最优的查询方案。

因此,CBO一旦发现有索引的存在,并且这个索引能帮助提高查询速度,就是使用通过索引进行查询的方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值