分区裁剪 oracle,[讨论]分区表并行和剪裁的困惑
d_fct是分区表,设了并行,字段time_day 按天分区。下列语句执行计划上看,确实走了并行,INDEX FAST FULL SCAN,这个是全扫了整个表呢?还是一个分区呢? Pstart和Pstop都是2711,是说第2711个分区吗?
select count(*) from d_fct fct
where fct.time_day = TO_DATE('2014-06-02','YYYY-MM-DD')
执行计划
----------------------------------------------------------
Plan hash value: 3142710511
------------------------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop | TQ |IN-OUT| PQ Distrib
------------------------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 8 | 2 (0)| 00:00:01 | | | | |
| 1 | SORT AGGREGATE | | 1 | 8 | | | | | | |
| 2 | PX COORDINATOR | | | | | | | | | |
| 3 | PX SEND QC (RANDOM) | :TQ10000 | 1 | 8 | | | | | Q1,00 | P->S | QC (RAND)
| 4 | SORT AGGREGATE | | 1 | 8 | | | | | Q1,00 | PCWP |
| 5 | PX BLOCK ITERATOR | | 15M| 120M| 2 (0)| 00:00:01 | 2711 | 2711 | Q1,00 | PCWC |
| 6 | BITMAP CONVERSION COUNT | | 15M| 120M| 2 (0)| 00:00:01 | | | Q1,00 | PCWP |
|* 7 | BITMAP INDEX FAST FULL SCAN| TIME_DAY_IDX_5 | | | | | 2711 | 2711 | Q1,00 | PCWP |
------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
7 - filter("FCT"."TIME_DAY"=TO_DATE(' 2014-06-02 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
统计信息
----------------------------------------------------------
192 recursive calls
0 db block gets
866 consistent gets
47 physical reads
0 redo size
239 bytes sent via SQL*Net to client
253 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
下面这个加了hint,去掉了并行,执行计划里有PARTITION RANGE SINGLE ,很明显只扫了一个分区,做了剪裁。这个正常。但从统计信息来看,不走并行的要优一些,只有 130 consistent gets,但为什么ORACLE 要选择走并行呢?不理解。另外是不是Pstart和Pstop一旦有值的话就说明做了分区剪裁呢?那能否用并行的方式做分区剪裁呢?从来没见过执行计划里又有PX又有PARTITION RANGE SINGLE 的情况。
select /*+ no_parallel */ count(*) from d_fct fct
where fct.time_day = TO_DATE('2014-06-02','YYYY-MM-DD')
执行计划
----------------------------------------------------------
Plan hash value: 3759807457
-----------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
-----------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 8 | 84 (0)| 00:00:02 | | |
| 1 | SORT AGGREGATE | | 1 | 8 | | | | |
| 2 | PARTITION RANGE SINGLE | | 15M| 120M| 84 (0)| 00:00:02 | 2711 | 2711 |
| 3 | BITMAP CONVERSION COUNT | | 15M| 120M| 84 (0)| 00:00:02 | | |
|* 4 | BITMAP INDEX FAST FULL SCAN| TIME_DAY_IDX_5 | | | | | 2711 | 2711 |
-----------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
4 - filter("FCT"."TIME_DAY"=TO_DATE(' 2014-06-02 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
统计信息
----------------------------------------------------------
0 recursive calls
0 db block gets
130 consistent gets
0 physical reads
0 redo size
239 bytes sent via SQL*Net to client
253 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
分区裁剪 oracle,[讨论]分区表并行和剪裁的困惑相关推荐
- oracle 10g 分区管理,Oracle 10g分区表的自动维护
Oracle 10g分区表不支持自动化管理,一般都要手动创建分区,手动删除.今天给大家带来了一个自动化管理表空间的脚本. 本脚本主要由3个部分组成:sys_ConfigTable.sql.sys_pr ...
- oracle分区区别,oracle范围分区表和INTERVAL分区表对于SPLIT分区的区别
范围分区表和INTERVAL分区表是可以相互转化的,不过二者还是有所区别的.比如在SPLIT分区的时候,范围分区表没有限制,而INTERVAL分区表则可能报错. 首先看范围分区的例子: SQL> ...
- oracle 增加间隔分区,oracle分区表之间隔分区(oracle 11g) - 漫兮网
范围分区允许用户根据分区键列值的范围创建分区.下面是一个按范围分区表的示例: create table sales6 ( sales_id number, sales_dt date ) partit ...
- oracle查询两个分区,oracle下 分区表部分分区查询慢有关问题(2)
当前位置:我的异常网» Oracle技术 » oracle下 分区表部分分区查询慢有关问题 oracle下 分区表部分分区查询慢有关问题(2) www.myexceptions.net 网友分享于: ...
- oracle分区备份,oracle分区表备份,只还原1个分区
oracle分区表备份,只还原1个分区 2016-06-06 oracle分区表备份,只还原1个分区,使用statistics=none,也就是不导出统计信息. alter table ANONYMO ...
- oracle 建分区索引_Oracle的分区表和Local索引创建与维护
Oracle的分区表和Local索引创建与维护 SQL> connect eygle/eygle Connected. SQL> CREATE TABLE dbobjs 2 (OBJEC ...
- oracle查看分区名称,oracle学习笔记之 分区表
1.概念: 分区表:当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区.表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空 ...
- oracle对日期字符串动态分区,oracle 11g分区表新特性---interval分区 的坑
oracle 11g分区表新特性---interval分区 的坑 oracle 11g的范围分区表中新增的interval分区特性,此种范围分区不需要定义MAXVALUE,Oracle会根据分区定义的 ...
- Oracle表的分区update卡着,分区表分区字段的update操作
默认情况下,oracle的分区表对于分区字段是不允许进行update操作的,如果有对分区字段行进update,就会报错--ORA-14402: 更新分区关键字列将导致分区的更改.但是可以通过打开表的r ...
最新文章
- 吃屎是一种什么样的体验?
- vue将文本渲染html,vue2.0 之文本渲染-v-html、v-text
- elementui表单校验原始密码_javascript 中入门数据校验
- java f.lenth返回值,这个是什么意思,求仔细说明
- 菲波那契数(信息学奥赛一本通-T1071)
- 1.Android新版开发教程笔记—Android ADB工具使用
- Eclipse配置默认的编码集为utf-8
- Java练习 SDUT-3338_计算各种图形的周长(接口与多态)
- oracle取字段第三位字符,oracle截取字符串(截取某个字符前面的字符串)
- 一文详解什么是代理模式
- 猫哥教你写爬虫 003--数据类型转换
- (Emitted value instead of an instance of Error) postcss-viewport-units:
- 如何打开电脑c语言窗口,C语言控制台窗口图形界面编程(五). -电脑资料
- qq家园里游戏c语言,盘点腾讯旗下5款过气游戏,全部玩过的人都该结婚了吧
- VS2017中处理命令行参数的方法----C++语言 Windows系统
- 《C++ Concurrency in Action》笔记28 无锁并行数据结构
- ViewPager PagerAdapter
- 正则表达式生成器,测试器(附C#代码)
- 小白的模拟电路初步学习20日打卡(2)
- el-select支持远程搜索时是没有下拉箭头icon的