oracle笔记整理9——性能调优之索引、表分区、索引分区

本文详细介绍了Oracle数据库中的索引和表分区优化策略,包括索引的创建条件、组合索引、并行索引及监控,以及表分区的原理、优势、类型,特别强调了范围分区、哈希分区和列表分区的应用。

1. 索引

1) 需要建索引的列

a) where从句中频繁使用的关键字。
b) sql语句中频繁用于表连接的字段。
c) 可选择性高(重复值少)的字段。

2) 索引限制条件

a) where条件中索引列上使用了否定操作符(比如:<>,!=,is null,is (not) null),将不会使用索引,直接全表扫描,此时可以把部分否定操作符换成or形式或者union all的形式来执行。
or与in等效,or关键字是否使用索引,视情况而定。

b) 索引列上使用了函数或运算操作,则不会使用索引,转而全表扫描,但可以建立相应的函数索引来实现。

c) like索引列时,通配符出现在词首时不会使用索引,其他位置将使用。

d) 索引列与给定变量的类型不一致时,将不会使用索引(oracle 11g中,可以进行varchar2至number的自动转换,此种情况索引正常使用,反之则没有,故尽量保持类型一致,不要寄希望于oracle的自动转换,否则容易搞混淆)

e) 频繁修改的列上最好不要建立索引,维护索引的开销太大。

3) 组合索引

由多个列构成的索引。
如:create index idx_tmp on temp(col1,col2,col3,……)
引导列(leading column):col1列为引导列;
限制条件中包含先导列时,该限制条件才会使用该组合索引。因此组合索引中应该按照列的使用频繁程度从高到底排列。

4) 并行索引

a) 快速创建并行索引

create index idx 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值