这一节主要讲述索引的使用,首先介绍怎么在查询中避免使用索引,然后介绍优化器怎么判断是否使用索引,并介绍了强制使用索引的方法,最后介绍了Oracle的并行处理方法。
避免使用索引
虽然你创建了索引,但有些查询你可能需要避免使用这些索引,或者你为了做一些测试,希望看看各种情况下查询的情况,也希望能够避免使用一些索引或者索引扫描方式。Oracle提供了方式来达到这些目地,就是在查询中使用hint信息...
分类:
数据库 时间:
2014-09-15 17:49:09
阅读次数:
352
这节将介绍各种索引扫描方式,在了解了各种索引扫描方式的特点后,你就可以判断你的执行计划中使用的扫描方式是否正确,并可以针对获取的信息作出改进。
索引唯一扫描
在下面的场景中使用相等条件时,数据库使用索引唯一扫描。
1)查询条件中包含唯一索引中的所有列时;
2)查询条件使用主键约束列时。
下面是一个实际的例子,在表historyalarm中创建如下唯一索引:
create uniqu...
分类:
数据库 时间:
2014-09-11 11:11:44
阅读次数:
277
上篇文章讲述了全扫描,这篇文章将介绍索引的结构和扫描方式,在后面将开始讲述每一种扫描方式。
当Oracle通过索引检索具体的一列或多列的列值时,就会执行索引扫描。首先我们来看看索引节点包含的数据。
索引节点包含的数据
索引可以被创建在表的单列或者多列上,索引中包含了这些列的值、rowid和一些其它信息,我们关心的只有列值和rowid。由于索引带有列值,应此如果你的SQL语句只涉及到索引的列,...
分类:
数据库 时间:
2014-09-09 18:21:49
阅读次数:
227
SQL语句执行时,Oracle的优化器会根据统计信息确定表的访问方式,一般来说,有两种基本的数据访问方式:1)全扫描。在全扫描(全表扫描或者快速全索引扫描)中,多个块被读入到一个IO运算中。2)索引扫描。索引扫描首先扫描索引叶子块以取得特定的行id(rowid),然后利用这些行id来访问父表取得实际的行数据,访问通过单块读取来完成。这里主要讲解全扫描方式,后面将介绍索引扫描。
使用全扫描
当对...
分类:
数据库 时间:
2014-09-01 17:49:53
阅读次数:
394
SQL Server 执行计划中的扫描方式举例说明原文地址:http://www.cnblogs.com/zihunqingxin/p/3201155.html1、执行计划使用方式 选中需要执行的语句,点击Ctrl+L执行 2、示例student表,id,name,addressid上建立聚集...
分类:
数据库 时间:
2014-07-19 09:00:58
阅读次数:
215
1、快速发现网络中存活主机
nmap -sP 192.168.1.* 或者
nmap -sP 192.168.1.-254
2、扫描UDP端口
DP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没 有收到回复,那说明UDP端口可能是开...
分类:
其他好文 时间:
2014-07-01 07:59:17
阅读次数:
298
oracle 10g下有几种扫描方式,注意最后一种扫描方式,当对分区的列进行计算时,会不走分区,这跟对索引列进行计算会导致无法用索引一样。
--扫描单个分区 PARTITION RANGE SINGLE
--连续扫描多个分区 PARTITION RANGE ITERATOR
--不连续扫描多个分区 PARTITION RANGE INLIST
--扫描全分区 P...
分类:
数据库 时间:
2014-05-09 09:05:28
阅读次数:
519