查看: 11787|回复: 5

请教执行计划 partition list single和partition list iterator分别是啥意思啊?

[复制链接]
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2014-04-05 06:00:00
跳转到指定楼层
1#
发表于 2011-3-31 19:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教执行计划 partition list single和partition list iterator分别是啥意思啊?
谢谢
论坛徽章:
2
2013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2014-04-05 06:00:00
2#
 楼主| 发表于 2011-3-31 20:05 | 只看该作者
partition list single  --扫描单个分区
partition list iterator --扫描N个分区
partition list inlist     --扫描N个分区
partition list full  -- 扫描全部分区?

那么partition list iterator 和partition list inlist有什么区别呢?

使用道具 举报

回复
论坛徽章:
1088
金色在线徽章
日期:2007-04-25 04:02:08金色在线徽章
日期:2007-06-29 04:02:43金色在线徽章
日期:2007-03-11 04:02:02在线时间
日期:2007-04-11 04:01:02在线时间
日期:2007-04-12 04:01:02在线时间
日期:2007-03-07 04:01:022008版在线时间
日期:2010-05-01 00:01:152008版在线时间
日期:2011-05-01 00:01:342008版在线时间
日期:2008-06-03 11:59:43ITPUB年度最佳技术原创精华奖
日期:2013-03-22 13:18:30
3#
发表于 2011-3-31 21:18 | 只看该作者
list iterator应该是in list条件能走索引的时候用
inlist应该是走不了索引的时候用
full扫描所有分区
你可以走个例子试试,迭代器是走到索引的时候效率好

使用道具 举报

回复
论坛徽章:
28
授权会员
日期:2009-01-04 22:12:21世界杯纪念徽章
日期:2014-07-14 11:31:462014年世界杯参赛球队: 澳大利亚
日期:2014-06-25 11:06:552014年新春福章
日期:2014-02-18 16:42:02ITPUB社区12周年站庆徽章
日期:2013-10-08 14:55:07NBA季后赛纪念徽章
日期:2013-06-21 14:52:05NBA常规赛纪念章
日期:2013-04-22 11:49:35季节之章:冬
日期:2012-11-15 16:55:18ITPUB元老
日期:2011-03-17 09:38:472014年世界杯参赛球队: 俄罗斯
日期:2014-07-17 17:21:42
4#
发表于 2011-3-31 23:40 | 只看该作者
SQL> CREATE TABLE tt (id integer) PARTITION BY RANGE (id)
  2  (PARTITION P1 VALUES LESS THAN (10),
  3   PARTITION P2 VALUES LESS THAN (20),
  4   PARTITION P3 VALUES LESS THAN (30),
  5   PARTITION P4 VALUES LESS THAN (40),
  6   PARTITION P5 VALUES LESS THAN (MAXVALUE)
  7  );

Table created.

SQL> insert into tt values(1);

1 row created.

SQL> insert into tt values(2);

1 row created.

SQL> insert into tt values(11);

1 row created.

SQL> insert into tt values(12);

1 row created.

SQL> insert into tt values(21);

1 row created.

SQL> insert into tt values(22);

1 row created.

SQL> insert into tt values(31);

1 row created.

SQL> insert into tt values(32);

1 row created.

SQL> insert into tt values(41);

1 row created.

SQL> insert into tt values(42);

1 row created.

SQL> commit;

Commit complete.

SQL> analyze table tt compute statistics;

Table analyzed.

SQL> set autot on explain;

SQL> select * from tt where id=1;

        ID
----------
         1


Execution Plan
----------------------------------------------------------
Plan hash value: 3030469310
-----------------------------------------------------------------------------------------------
| Id  | Operation              | Name | Rows  | Bytes | Cost (%CPU)| Time     |Pstart| Pstop |
-----------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT       |      |     1 |     2 |     3   (0)| 00:00:01 |      |       |

|   1 |  PARTITION RANGE SINGLE|      |     1 |     2 |     3   (0)| 00:00:01 |    1 |     1 |

|*  2 |   TABLE ACCESS FULL    | TT   |     1 |     2 |     3   (0)| 00:00:01 |    1 |     1 |

-----------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("ID"=1)

SQL> select * from tt where id=1 or id=31;

        ID
----------
         1
        31


Execution Plan
----------------------------------------------------------
Plan hash value: 3679944805
-----------------------------------------------------------------------------------------------
| Id  | Operation              | Name | Rows  | Bytes | Cost (%CPU)| Time     |Pstart| Pstop |
-----------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT       |      |     2 |     4 |     4   (0)| 00:00:01 |      |       |

|   1 |  PARTITION RANGE INLIST|      |     2 |     4 |     4   (0)| 00:00:01 |KEY(I) |KEY(I) |

|*  2 |   TABLE ACCESS FULL    | TT   |     2 |     4 |     4   (0)| 00:00:01 |KEY(I) |KEY(I) |

-----------------------------------------------------------------------------------------------


Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("ID"=1 OR "ID"=31)

SQL> select * from tt where id between 1 and 32;

        ID
----------
         1
         2
        11
        12
        21
        22
        31
        32

8 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 1049729311
-------------------------------------------------------------------------------------------------
| Id  | Operation                | Name | Rows  | Bytes | Cost (%CPU)| Time| Pstart| Pstop |
-------------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT         |      |     9 |    18 |     6   (0)| 00:00:01|       |       |

|   1 |  PARTITION RANGE ITERATOR|      |     9 |    18 |     6   (0)| 00:00:01|     1 |     4 |

|*  2 |   TABLE ACCESS FULL      | TT   |     9 |    18 |     6   (0)| 00:00:01|     1 |     4 |

-------------------------------------------------------------------------------------------------


Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("ID"<=32 AND "ID">=1)

使用道具 举报

回复
论坛徽章:
821
授权会员
日期:2007-08-10 01:06:30山治
日期:2019-11-15 22:34:592015年新春福章
日期:2015-03-06 11:57:31暖羊羊
日期:2015-03-04 14:50:37马上有钱
日期:2014-12-21 16:14:33马上加薪
日期:2014-11-23 19:24:42 2014年世界杯参赛球队: 德国
日期:2014-07-09 15:28:06ITPUB元老
日期:2008-08-24 00:06:57会员2007贡献徽章
日期:2007-09-26 18:42:10托尼托尼·乔巴
日期:2020-03-23 10:49:16
5#
发表于 2011-4-1 09:05 | 只看该作者
partition list iterator --扫描N个分区,连续扫描N个分区,
partition list inlist     --扫描N个分区,不连续扫描N个分区

使用道具 举报

回复
求职 : 数据库开发
论坛徽章:
29
ITPUB学员
日期:2009-10-14 18:49:45至尊黑钻
日期:2015-12-31 11:11:56数据库板块每日发贴之星
日期:2009-10-22 01:01:02优秀写手
日期:2014-04-30 06:00:17ITPUB8周年纪念徽章
日期:2009-10-09 21:30:10秀才
日期:2017-05-17 11:39:09马上有车
日期:2014-10-09 10:14:53马上有钱
日期:2014-02-18 16:43:09路虎
日期:2013-10-15 15:38:59林肯
日期:2013-09-12 15:57:33
6#
发表于 2011-4-1 10:15 | 只看该作者
学习了。。4楼的测试,不加where条件就会变成partition list full 了吧

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表