暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 12c表群集功能和存储索引,bloom过滤器和where过滤器

askTom 2017-03-01
786

问题描述

如果您能阐明使用12c聚类 (排序) 表数据来提高存储索引的有效性的问题,我将不胜感激。
问题是:
如果有
(A) 在名为 “度量” 的表上的列SUBMISSION_UNIT_COB_DATE和MEASURE_NAME上广泛使用的谓词,该谓词在SUBMISSION_UNIT_COB_DATE上按日期划分
(B) 度量表列SUBMISSION_UNIT_COB_DATE和SUBMISSION_UNIT_ID的广泛使用的联接,导致这些列上的BLOOM过滤器
Q1。Bloom筛选器是否可以利用bloom筛选器列上的聚类/排序数据从存储索引中受益?
Q2。如果对Q1的回答是肯定的,那么在谓词或Bloom过滤器列即 (A) 或
(B)?这是否取决于标准哪里谓词是在Bloom过滤器在存储单元之前首先执行的?
Q3。如果Q1的答案是否定的,那么我应该忽略bloom过滤器列并始终在标准WHERE谓词上进行聚类吗?即忽略用于聚类表数据的联接列?

我已从以下计划中复制了相关信息:

对象: 措施

访问谓词: Z >=: Z和: Z <=: Z和 ("度量"."度量 _ 名称" = 'ir01或Bkt MRS' 和 "度量"."场景"<>'Base' 和 "度量"."SUBMISSION_UNIT_COB_DATE" = '2017-02 '和SYS_OP_BLOOM_FILTER(:BF0000,"度量"."SUBMISSION_UNIT_ID","度量"."SUBMISSION_UNIT_COB_DATE"))

过滤谓词 :( “度量”。“度量” = 'ir01或Bkt MRS' 和 “度量”。“场景” <>'基础' 和 “度量”。“SUBMISSION_UNIT_COB_DATE” = '2017-02 '和SYS_OP_BLOOM_FILTER (:BF0000,“度量”。“SUBMISSION_UNIT_ID”,"措施"."SUBMISSION_UNIT_COB_DATE"))


专家解答

Q1。bloom过滤器可以从存储索引中受益吗?

答案是肯定的,布隆过滤器可以从存储索引中受益。

Q2。如果Q1的答案是肯定的,那么哪一个会让我更受益,聚类在标准的谓词或Bloom过滤器列即 (A) 或 (B)?这是否取决于标准哪里谓词是在Bloom过滤器在存储单元之前首先执行的?

谓词的评估顺序将影响使用存储索引的好处。所有where子句谓词 (包括Bloom过滤器) 将始终在发生分区修剪后进行评估。

由于您的表在SUBMISSION_UNIT_COB_DATE上分区,并且查询在该列上包含相等谓词,因此该谓词将首先应用,但它不同于从存储索引中获得巨大的好处,因为它将仅访问SUBMISSION_UNIT_COB_DATE = = '2017-02-02' 的分区内的数据。所以,我不会费心对SUBMISSION_UNIT_COB_DATE列进行排序。

然后将应用其余的谓词,首先应用最具选择性的谓词。因此,要回答有关在哪个列上进行排序的问题,我建议您对最常用的选择性相等谓词进行排序。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论