欢迎来到天天文库
浏览记录
ID:6321828
大小:104.82 KB
页数:9页
时间:2018-01-10
《[oracle] 分区探索》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、[Oracle]分区探索(1)-分区剪枝分区剪枝分区剪枝是指对于分区表或分区索引来说,优化器可以自动从FROM和WHERE字句里根据分区键提取出需要扫描的分区,从而避免全表扫描,减少扫描的数据块,提高性能。分区剪枝分为静态和动态,静态分区剪枝发生在编译阶段,动态分区剪枝发生在执行阶段,下面我们分别来看看这两种分区剪枝执行计划的异同点。静态分区剪枝静态分区剪枝在解析阶段就知道需要扫描多少个分区,因此执行计划里的PSTART和PSTOP明确显示扫描的起止分区数,例如:SQL>explainplanforselect*fromsaleswheretime_id=to_date('01
2、-jan-2001','dd-mon-yyyy');Explained.SQL>select*fromtable(dbms_xplan.display);PLAN_TABLE_OUTPUT----------------------------------------------------------------------------------------------Planhashvalue:3971874201--------------------------------------------------------------------------------
3、--------------
4、Id
5、Operation
6、Name
7、Rows
8、Bytes
9、Cost(%CPU)
10、Time
11、Pstart
12、Pstop
13、----------------------------------------------------------------------------------------------
14、0
15、SELECTSTATEMENT
16、
17、673
18、19517
19、27(8)
20、00:00:01
21、
22、
23、
24、1
25、PARTITIONRANGESINGLE
26、
27、673
28、19517
29、27(8)
30、00:00:01
31、17
32、17
33、
34、*2
35、TABLEACCESSFULL
36、SA
37、LES
38、673
39、19517
40、27(8)
41、00:00:01
42、17
43、17
44、----------------------------------------------------------------------------------------------PredicateInformation(identifiedbyoperationid):---------------------------------------------------2-filter("TIME_ID"=TO_DATE('2001-01-0100:00:00','yyyy-mm-ddhh24:mi
45、:ss'))上例中的PSTART,PSTOP都等于17表示只需要扫描第17个分区。动态分区剪枝如果在解析阶段无法知道需要扫描多少分区,只有在运行时才能确定,这时Oracle将自动采用动态分区剪枝技术,例如:SQL>explainplanforselectsum(amount_sold)fromsaleswheretime_idin(selecttime_idfromtimeswherefiscal_year=2000);Explained.SQL>select*fromtable(dbms_xplan.display);PLAN_TABLE_OUTPUTPLAN_TABLE_O
46、UTPUT----------------------------------------------------------------------------------------------------Planhashvalue:3827742054----------------------------------------------------------------------------------------------------
47、Id
48、Operation
49、Name
50、Rows
51、Bytes
52、Cost(%CPU)
53、Time
54、Pstart
55、Pstop
56、----
57、------------------------------------------------------------------------------------------------
58、0
59、SELECTSTATEMENT
60、
61、1
62、25
63、523(5)
64、00:00:07
65、
66、
67、
68、1
69、SORTAGGREGATE
70、
71、1
72、25
73、
74、
75、
76、
77、
78、*2
79、HASHJOIN
80、
81、191K
82、4676K
83、523(5)
84、00:00:07
85、
86、
87、
88、*3
89、TABLEACCESSFULL
90、TIMES
91、304
92、3648
93、18(0
此文档下载收益归作者所有