暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
什么叫 revised key index
370
3页
0次
2020-06-04
5墨值下载
什么叫
revised key index?
反键索引是
BTree
索引的一个分支,它的设计是为了运用在某些特定的环境下的。
Oracle
出它的就低在服务
Oracle Parallel Server
)环
块的争用。当
BTree
索引中有一列是由递增的序列号产生的话,那么这些索引信息基本上
分布在同一个叶块,当用户修改或访问相似的列时,索引块很容易产生争用。反向索引中
的索引码将会被分布到各个索引块中,减少了争用
.
例子:有一个字段
id
,他的值落在一个很小的区间,比如从
9000-9999
,如果建
b-tree
索引,那么值过于紧密,反键的原理是把值取反,那
id
的区间就
0009-9999
,区
就被放大,这个时候通过索引来查找数据效率会比较高(
oracle
这么说的)。
好处是
:
解决了树的倾斜问题,而且可以解决在大量
IO
操作的情况下
,
防止硬盘在某个区域
操作过于频繁
,
引起”热点”问题。
树的分支:因为索引一般是按树这个数据结构来组织,所以有很多分支,把不同类别或范
围的数据存放在分支里,在符合条件的分支里查询比在全表查询效率高很多。
树的倾斜:树的某个分支过与庞大
,
而其他分支内容却很少,这样的索引非常不健康的,查
询速度也很慢,如上面的示例数据,都
10000-20000
的分支,而
20000-30000
或者
以上的分支是空的。反转后把这些数据均匀分布到不同的分支,可以使索引更加健康,也
更有效率。
热点问题:由于系统在表数据的增删改查的同时,同时要承担索引开支,而这主要是硬盘
IO
操作,如果树是倾斜的,而且数据的增加是按一定顺序增长的,这种情况会导致硬盘
对某一固定区域操作频繁,会出现热点问题,而且出现瓶颈。
Oracle
五种索引:
1
btree index
:几乎所有的关系型数据库中都有
btree
类型索引,也是被最多使用的。
其树结构与二叉树比较类似,根据
rid
快速定位所访问的行。
B-Tree
索引是基于二叉树的
由分支块(
branch block
)和叶块(
leaf block
)组成。在树结构中,位于最底层底块
称为叶块,包含每个被索引列的值和行所对应的
rowid
。在叶节点的上面是分支块,用来
导航结构,包含了索引列(关键字)范围和另一索引块的地址。
2
)反反转
btree
索引节,目分均匀并行
器环境下,用于减少索引叶的竞争。 反向索引又一个缺点就是不能在所有使用常规索引的
地方使用。在范围索中其不能被使用。
3
)降序索引:
8i
出现的索引类型,序的查询。
4
)位引:使用理与数据行的对应关系,多用于
OLAP
系统索引最好
于低
cardinality
一个近零又一
Male”
Female”
Null”
3
300
3/3000000
约等
0
,这种情况下最合用位索引。位以一种压缩格式存放,因此占
用的盘空间比
B-Tree
索引要小多。
5
function
select * from
table where function(column)=value
8i
以来的,它有索引列的能,它易于使用并且提供好的值,在不修改
应用序的逻辑高了查询能。使用基于数的索引有几个决条件:
1
QUERY REWRITE
GLOBAL QUERY REWRITE
下)权限
2
必须使用基于成本的优化器,基于规优化器将被忽略
3
必须以下个系统数:
QUERY_REWRITE_ENABLED=TRUE
QUERY_REWRITE_INTEGRITY=TRUSTED
alter system set,alter session set
线
init.ora
现。
五种索引的建:
1
Tree
索引。
Create index indexname on tablename(columnname[columnname…])
2
)反向索引。
Create index indexname on tablename(columnname[columnname…]) reverse
3
)降序索引。
Create index indexname on tablename(columnname DESC[columnname…])
4
)位索引。
Create BITMAP index indexname on tablename(columnname[columnname…])
5
数索引。
Create index indexname on tablename(functionname(columnname))
注意建索引后分要索引能起作用。
五种索引的使用所:
1
BTree
索引。
常规索引,多用于
oltp
系统,快速定位行,应建于高
cardinality
列(一值
以行数为一个很大的值,存在很少的相同值)。
2
)反向索引。
BTree
应用于殊场合,在
ops
环境加序列增加的列上建,不
扫描
3
)降序索引。
BTree
生产应用于有降序中,索引中存了降序的索引码
提供了快速的降序索。
4
)位索引。
式管的索引
OLAP
(在线
DSS
(决处理)系统,应建于低
cardinality
列,取,不插入和修改,提供
BTree
索引更节的空间。
5
数索引。
B*Tree
生产,应用于查询语句条件列上包含数的情况,索引中存了数计
的索引码值。可以在不修改应用序的基上能高查询效率。
索引不用的时候:
1
RBO&CBO
Oracle
优化器,一种
RBO(Rule Based Optimizer)
基于规优化器,这
sql
CBO
Cost Based
Optimizer
)基于规优化器,这种优化器是
Oracle
根据统计分信息来选择执路径
如果表和索行分
Oracle
将会使用
RBO
代替
CBO
如果表和索引很久未
CBO
也有错误,不
CBO
Oracle
发展方向
8i
已经
RBO.
2
AUTOTRACE
索引是被使用我们借助
Oracle
的一个叫
AUTOTRACE
,
示了
sql
语句
路径我们
Oracle
sql
的,这是一个非常好的辅助工具,在
sql
调优广泛被运用。我们一下么运用
AUTOTRACE
AUTOTRACE
Execution Plan,
使
AUTOTRACE
of 3
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜