- 1
- 0
- 约1.01万字
- 约 71页
- 2020-02-06 发布于上海
- 举报
基本索引概念
当从表中读取数据时,Oracle提供了两个选择:
从表中读取每一行(全表扫描)
通过ROWID一次读取一行
当我们要访问大型表的少数行时,可能需要使用索引。
因为如果没有索引,那么只能进行全表扫描。;全表扫描和索引查找之间的平衡点
1、分区
2、并行DML
3、并行查询
4、使用db_file_multiblock_read_count进行更大的IO操作
5、硬件更为快速
6、磁盘上的缓存可以缓存更多的数据
7、内存的廉价使得我们的内存进一步增大
8、Oracle采用了增强的索引特性(例如跳跃式扫描索引);SELECT、UPDATE、DELETE+WHERE条件可以从索引中得到好处
(前提是:当访问的行数较少时)
一般来说,增加索引会带来insert语句性能的下降
如果根据未索引列update索引列,那么也会带来性能的降低
大量的delete也会因为索引的存在而导致性能降低
因此我们要分析具体的情况,判断索引和DML语句之间的关系;我们如何去去判断一个表上的索引呢?;组合索引
当某个索引包含有多个列时,我们称这个索引为组合索引。
在使用组合索引的时候,要谨慎选择索引列中的列顺序。
一般来说,索引的第一列应该是最有可能在where子句中使用的列,并且也是在索引中最具有选择性的列。
对于9i以前,查询只能在where子句中使用索引的第一列时使用索引。
;从Oracl
原创力文档

文档评论(0)