抽樣表掃描

          抽樣表掃描(sample table scan)只讀取一個表的部分數據。其實我們只選擇表的部分數據的話,可以用rownum來限制也很方便。但是考慮如下情況:
          A表和B表join,我只想A表的部分數據去連接B表,此時用sample就方便的多。如果用rownum就需要用一個subquery。
          --用Sample:
          select?A.id,A.name?from?A?sample?block(20),B?
          where?A.id=B.id
          --用Rownum:
          select?A.id,A.name?from?(select?a.id,a.name?from?a?where?rownum<100)?A,B?
          where?A.id=B.id

          抽樣表掃描有兩種形式,一種是抽樣表中行數的一個百分比,一個是抽樣表中塊數的一個百分比。注意都是百分比。語法如下:

          SELECT?*?FROM?employees?SAMPLE?(1);--返回行數乘以1%
          SELECT?*?FROM?employees?SAMPLE?BLOCK?(1);--返回塊數乘以1%

          也可以在視圖上使用SAMPLE。

          posted on 2010-02-01 14:32 飛熊 閱讀(270) 評論(0)  編輯  收藏 所屬分類: ORACLE

          <2010年2月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28123456
          78910111213

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 樟树市| 镇雄县| 阳江市| 昌图县| 临沭县| 台北市| 淅川县| 东乡族自治县| 米易县| 科技| 杭锦后旗| 博兴县| 古田县| 衡阳市| 华坪县| 邵阳市| 莱州市| 伊春市| 图片| 兴山县| 通化县| 天峻县| 汉沽区| 大化| 万山特区| 泸定县| 唐山市| 贵溪市| 孟连| 嵊州市| 中方县| 宜兰县| 苏尼特左旗| 江北区| 巴林右旗| 樟树市| 公安县| 象州县| 镇远县| 巴东县| 扶绥县|