暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
Oracle 11g Partition Pruning
759
10页
2次
2020-03-05
5墨值下载
Oracle Partition Pruning
Ask Oracle 社区 | www.askoracle.org
技术交流群:212299542
1
1.Partition Pruning(分区修剪)简介
在数据仓库中分区修剪是一种非常有效的性能特性。分析修剪分析 SQL 中的 WHERE
FROM 字句,从而在查询中消除丌丌必要分区,功能可以使 Oracle 数据库只对跟 SQL
语句相关的分区进行操作
2.Benefits of Partition Pruning
Partition Pruning分区修剪)很大程度上减少了数据库检索磁盘的数据量和运行时
间,从而提高了查询性能和资源利用率。如果分区表和分区索引with a global partitioned
index)在丌同的列上,Partition Pruning(分区修剪)也可以消除丌必要的分区索引。
根据 SQL 语句的丌同,可以将 Partition Pruning(分区修剪)分为两类:Static or
Dynamic pruningStatic pruning 发生在编辑期,在访问分区之前,已经知道那些分
会被使用,例如:一个 WHERE 条件里面包含子查询用于返回分区键值的 SQLDynamic
pruning 发生在运行时期,也就是说,在 SQL 行的时候,才会知道那些分区被使用,例
如:一个 where 条件里面包含运算符和凼数 SQL
注意:Partition Pruning(分区修剪)会影响被 Pruning 对象的统计信息,从而也会影响
SQL 语句的执行计划。
3.Information That Can Be Used for Partition Pruning
Oracle Partition Pruning分区修剪)在你使 Range/LIKE/=/IN-list 等谓词在
range 分区或者 list 分区列以及使用= IN-lis 谓词在 hash 分区生效
对于复合分区对象Oracle 能实现两个级别的 Oracle Partition Pruning(分区修剪
例如下面的 SQL,表 askoracle_range_hash s_saledate
Oracle Partition Pruning
Ask Oracle 社区 | www.askoracle.org
技术交流群:212299542
2
s_productid hash 子分区:
CREATE TABLE askoracle_range_hash(
s_productid NUMBER,
s_saledate DATE,
s_custid NUMBER,
s_totalprice NUMBER)
PARTITION BY RANGE (s_saledate)
SUBPARTITION BY HASH (s_productid) SUBPARTITIONS 8
(PARTITION sal99q1 VALUES LESS THAN
(TO_DATE('01-APR-1999', 'DD-MON-YYYY')),
PARTITION sal99q2 VALUES LESS THAN
(TO_DATE('01-JUL-1999', 'DD-MON-YYYY')),
PARTITION sal99q3 VALUES LESS THAN
(TO_DATE('01-OCT-1999', 'DD-MON-YYYY')),
PARTITION sal99q4 VALUES LESS THAN
(TO_DATE('01-JAN-2000', 'DD-MON-YYYY')));
SELECT *
FROM askoracle_range_hash
WHERE s_saledat0065 BETWEEN (TO_DATE('01-JUL-1999', 'DD-MON-YYYY')) AND
(TO_DATE('01-OCT-1999', 'DD-MON-YYYY'))
AND s_productid = 1200;
Oracle 在分区列上使用谓词进行 Partition Pruning(分区修剪),过程如下:
1.当使用 Range 分区时,Oracle 会直接访问 sal199q2 sal199q3
2.当使用 hash Oracle 会访问 sal199q2 sal199q3 hash 子分区里
s_productid=1200 的所有行,
当然 Oracle 11g Eference-partitioned table Virtual
column-based partitioned tables 也可以在 SQL 中采用 Partition Pruning(分区修剪
技术。
4.How to Identify Whether Partition Pruning Has Been Used
Oracle 使用 Partition Pruning(分区修剪)时,我们可以通过 EXPLAIN PLAN
of 10
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

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