oracle索引怎么用 Oracle基本索引的分类

映芳 1172分享

  索引建立之后,是由oracle自动决定是否使用索引的。但也可以用oracle的HINT功能来指定索引。那么你了解oracle索引怎么用吗?今天yinbaban小编为大家推荐Oracle基本索引的分类,一起看看oracle索引的用法吧!

  Oracle基本索引的分类

oracle索引

  虽然Oracle提供了如此多的索引,但是在实际中常用的索引类型也就那么几种

  OLTP——联机事务处理,可以简单认为是我们的业务系统,有大量DML操作

  OLAP——联机事务分析处理,可以简单认为是数据仓库,基本上都是查询操作

  oracle索引怎么用

  一、复合索引

  在大多数情况下,复合索引比单字段索引号,因为可以过滤出更多数据,精确定位。但是要考虑实际情况,不能滥用,不能乱用。

  复合索引设计原则:

  1、前缀性

  也就是说到底把那个字段放在第一个未知呢,这个至关重要

  例如:(col1,col2,col3)这个索引包含三个字段

  [sql] view plain copySELECT * FROM tab1 WHERE col1='XX'

  SELECT * FROM tab1 WHERE col2='XX'

  SELECT * FROM tab1 WHERE col3='XX'

  SELECT * FROM tab1 WHERE col1='XX' AND NAME='CCC'

  SELECT * FROM tab1 WHERE col2='XX' AND NAME='CCC'

  针对上面的几个SQL语句,到底谁会走索引,谁不走索引你。

  其实只要含有col1='SSSS'条件的语句都会走索引

  这就是为什么第一个字段为什么这么重要的原因了

  2、可选性

  就是用于索引的字段的非重复数据必须多,像用性别来做索引字段就行不通。

  将字段可选性越多的字段放到前面

  复合索引使用建议:

  1、分析SQL语句中约束条件字段

  2、约束条件比较固定的,优先采用B*树复合索引

  3、单个字段是主键、唯一键或则其他可选性很高的字段可以建立单字段索引,节省索引开销

  4、在建立复合索引的时候,优先考虑其前缀性,其次是可选性

  5、如果涉及到几个条件使用频繁,但是查询组合不固定,可以分别建立单字段索引

  6、如果是多表连接,可以考虑在被驱动表的连接字段与该表的其他字段创建复合索引

  7、通过查看SQL语句执行计划进行分析

相关文章

热门标签

424640