Oracle 簇

来源:互联网 发布:淘宝联盟如何省钱 编辑:程序博客网 时间:2024/06/07 07:11
索引(Indexing)包含了创建了独立的结构来帮你快速地定位指定的数据。 簇(Clustering)表示,通过将数据物理地定位在某些位置来优化数据库的访问。

Oracle 提供了两种基本的簇机制

a .  索引簇将来自多张表的、拥有同样键值的记录存储在一起,相当于它们已经提前做好链接了。
b.   散列簇将特定的记录存储在一个位置。该位置可以从记录的键值出发通过数学处理推导出来。

1.  索引簇

是将一张或多张表的相关记录存储在同一个数据块中的机制。理论上,这将提高表连接的速度,因为将要进行连接的记录都存储在同一个数据块中。实际上,多表索引簇的价值非常有限,只有当表几乎总是同时被引用时才会适用。,下面是索引簇的一些缺点:

 1.1 : 只针对索引簇中的一张表进行全表扫描会变得更慢,因为索引簇中的其他表的记录也需要被扫描。
 1.2: : 由于维护索引簇需要付出额外的开销,因此插入的速度会更慢。
 1.3 : 表连接获得的性能收益可能很少(理论上)。
下面分析索引簇的结构:
Oracle 簇 - John.Zhou - zhouyou.jun的博客
 

2. 散列簇

如前所说,散列簇中,有一个将簇键值翻译成物理存储地址的数学转换。在Oracle散列簇中,簇键值会被翻译成散列键,拥有相同的散列键的记录会被存储在一起。这意味着Oracle可以在不检索索引(这将带来一定的IO开销)的情况下直接定位到需要的数据块。
    有了散列簇,检索一条记录可能只需要访问一次数据块——包含这条记录的数据块。与此相比,使用B*Tree索引的起码需要访问四次数据块(索引头块、索引分支块、索引叶子块与表数据块).
    在使用散列簇的时候需要考虑下面几点:
2.1  散列键应该具有很高的很高的基数(大量的唯一值)。 唯一键或者主键比较合适做散列键。
2.2  使用散列键查找时,通常应该考虑精确检索而不是范围检索或者LIKE条件。
下面分析散列簇结构:
Oracle 簇 - John.Zhou - zhouyou.jun的博客
 
                                     散列簇的结构,word里面画的真是太丑了,不过能表达意思就好。呵呵
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 梦想城镇账号被冻结怎么办 钱被银行冻结了怎么办 百度云账号密码忘了怎么办 微信钱包忘记密码了怎么办 word文档打开文件出错怎么办 有盘文件删不了怎么办 u盘文档严重损坏怎么办 wps文档打开是乱码怎么办 九游3083网资金冻结怎么办 阴阳师九游版禁止部分玩法怎么办 夜神模拟器游戏打不开怎么办 九游代金券锁定怎么办 被娱乐天地骗了怎么办 win8更新失败无法开机怎么办 安装英雄联盟文件损坏怎么办 电脑玩lol运行内存不足怎么办 守望先锋账号冻结了怎么办 守望先锋服务器发生意外错误怎么办 在先锋社保缺一年上学怎么办 lol更新后反应很慢怎么办 电脑跳舞毯不正常电脑游戏怎么办 PS中缺失的字体怎么办 黑板墙不想要了怎么办 淘宝代练打坏了怎么办 绝地求生与ipad不兼容怎么办 小米手机玩绝地求生卡怎么办 绝地求生服务器目前非常繁忙怎么办 玩绝地求生手机发烫怎么办 绝地求生刺激战场延迟高怎么办 怀孕八个半月打喷嚏头疼怎么办 20岁打喷嚏漏尿怎么办 鼻炎犯了不停打喷嚏怎么办 鼻炎犯了不停打喷嚏流鼻涕怎么办 感冒鼻痒怎么办小窍门 腰扭了屁股也疼怎么办 小三把房子过户怎么办 小三把房子卖了怎么办 打印机ip地址变了怎么办 电脑ip地址错误不能上网怎么办 修改了注册表电脑无法启动怎么办 香水喷到衣服上有印怎么办