tft每日頭條

 > 生活

 > 說明分區表的特點及其應用

說明分區表的特點及其應用

生活 更新时间:2024-12-04 05:58:06

une_xxx表pfdate是來自fdate的虛拟列,表分區列是pfdate,用虛拟列做分區,寫sql時 where後面的條件要用pfdate,執行計劃才能正确采用分區過濾。

下面是不好的寫法,會全分區掃描

說明分區表的特點及其應用(分區表的執行計劃-單分區掃描)1

下面是正确的用法,單分區掃描,plsql消耗估計有誤差可以忽略

說明分區表的特點及其應用(分區表的執行計劃-單分區掃描)2

PARTITION LIST SINGLE 實際告訴你的就是 走了單個分區的掃描,而TABLE ACCESS FULL 告訴你的是,這個分區用了全掃描的方式。

測試:

select * from une_cbill t where t.pfdate>=to_Date('2018-12-01','yyyy-mm-dd') and t.pfdate<=to_Date('2018-12-02','yyyy-mm-dd');

select * from une_cbill t where t.fdate>='2018-12-01' and t.fdate<='2018-12-02';

說明分區表的特點及其應用(分區表的執行計劃-單分區掃描)3

分區 執行計劃

range分區 執行計劃中出現的:

分區表,按 n1 ,n2 分區

partition range single:訪問單個分區

partition range iterator:訪問多個分區

partition range inlist: 分區鍵中用了in 例如: where n1 in(X1,X2) and n2=X3

partition range all: 所有的分區

partition range empty: 條件在分區中不存在 (或者說是找不到數據)

partition range or: 分區鍵中用了or 例如 where n1=X1 or n2=X2

partition range subquery:

partition range join-filter:

partition range multi-column:

hash分區可用的操作:

partition hash single:

partition hash iterator:

partition hash inlist

partition hash all

partition hash subquery

partition hash join-filter

比range少了partition range or和partition range multi-column

list分區 :

partition list single

partition list iterator

partition list inlist

partition list all

partition list empty

partition list or

partition list subquery

partition list join-filter

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved