oracle索引怎么用 Oracle基本索引的分类
索引建立之后,是由oracle自动决定是否使用索引的。但也可以用oracle的HINT功能来指定索引。那么你了解oracle索引怎么用吗?今天yinbaban小编为大家推荐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语句执行计划进行分析