熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

建立了分區表後如果訪問表中數據

2013-11-13 15:38:21  來源: Oracle 

  Quote:

   對一張表建立了分區後在訪問表中數據時是如何操作的

  answer:

  普通表呢像一個小學生用的新華字典分區表呢像一套博士們辭海在同一個漂亮的盒子裡面(表名)有若干本辭海分冊(每一冊就是一個分區了)
  
  如果說檢索一張普通表就像查新化字典檢索分區表就像查辭海了具體而言呢又這麼幾種方式
  
  ) 因為你知道你查的內容只會出現在某些分冊裡面於是你很快的從辭海盒子裡面取出你要的那個冊子不加思索的翻到索引頁根據索引頁的指示你飛快的翻到你的目標頁面取一本本冊子呢就叫partition range [inlist] iterator找索引頁當然就是index range scan如果你不找索引頁准備翻完整本書的找那就是full table scan了如果你只找一本冊子的那partition range iterator也就不必了
  
  )你不知道你要查的內容在那本冊子裡? 那你只好辛苦一點翻閱所有冊子了這時你做的動作就叫partition range all  而對於每本冊子言也許你會找索引頁(index scan)也許你想翻遍全冊(full table scan)
  
  ) 也許你發現一冊冊的打開索引頁找內容太繁重了你突然想起來對你的辭海做個整改於是你把每冊的索引頁全都拆了下來專門裝訂成一冊每次你想利用索引頁找東西時你就打開這個索引冊從索引冊你就可以找到你要內容在哪一冊哪個地方這就是global index scan 相對於就叫local index scan
  
  ) 你有兒子嗎?有一天你想培訓兒子的能力於是你就找來你兒子給你翻冊子找資料可是你兒子非得和老子一起找才肯幫你於是你們父子倆就開始一起檢索起辭海來你查某些冊子他查另一些冊子這就叫partition scan

  Quote:

   如果建立了分區後在一個查詢中又沒用到分區時的條件時他的操作和沒用分區時的操作有何不同?  

  有不同成本會高一點 前者是partition range all 必須一本冊子一本冊子查過了 後者就查一個冊子了但是前者並不定會比後者慢因為前都可以用partition scan


 

From:http://tw.wingwit.com/Article/program/Oracle/201311/17058.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.