抽樣表掃描

          抽樣表掃描(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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 建湖县| 香格里拉县| 英德市| 景东| 土默特右旗| 阜新| 水富县| 阜宁县| 共和县| 苏尼特右旗| 巴东县| 海晏县| 安新县| 太康县| 抚州市| 石首市| 武穴市| 靖安县| 宣武区| 开江县| 醴陵市| 汝州市| 望奎县| 抚宁县| 德格县| 灵山县| 富裕县| 敦煌市| 天全县| 探索| 井研县| 时尚| 巧家县| 阿坝| 东明县| 紫阳县| 介休市| 四会市| 陇南市| 乌鲁木齐市| 孝感市|