<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-314  評論-209  文章-0  trackbacks-0
    文章分類:數據庫

    要測試sql loader 以及快速產生大量測試數據

    生成大量測試數據思路。

      一,用plsql developer 生成csv 文件

      二,用>>輸出重定向,追加到一個cvs 文件里。

      三,再用sql loader 快速載入。

     

    在plsql developer 執行

    Sql代碼 復制代碼
    1. SELECT object_id,object_name FROM dba_objects;  

     

    右鍵plsql developer 導出csv 格式 1.csv。在linux 上執行下面的腳本

    C代碼 復制代碼
    1. #!/bin/bash   
    2.   
    3. for((i=1;i<200;i=i+1))   
    4. do  
    5.         cat 1.csv >> 2.csv;   
    6.         echo $i;   
    7. done  

     這樣 50000  *  200 差不到就有一千萬的數據了。我測試的  11047500  392M

     可以用:

    Linux代碼 復制代碼
    1. wc -l 2.csv  

     

    查看csv 里有多少條數據。現在測試數據有了。我們來試一下sql loader 的載入效果吧。

    創建sqlloader 控制文件如下,保存為1.ctl

    Sqlldr ctl代碼 復制代碼
    1. load data   
    2. infile '2.csv'  
    3. into table my_objects   
    4. fields terminated by ','optionally enclosed by '"'  
    5. (object_id,   
    6. object_name   
    7. );  

     

    控制文件簡要說明:

    -- INFILE 'n.csv'   導入多個文件 
    -- INFILE *  要導入的內容就在control文件里 下面的BEGINDATA后面就是導入的內容

    --BADFILE '1.bad'   指定壞文件地址 

    --apend into table my_objects 追加
    -- INSERT  裝載空表 如果原先的表有數據 sqlloader會停止 默認值 
    -- REPLACE   原先的表有數據 原先的數據會全部刪除 
    -- TRUNCATE  指定的內容和replace的相同 會用truncate語句刪除現存數據 

    --可以指定位置加載
    --(object_id position(1:3) char,object_name position(5:7) char)
    --分別指定分隔符
    --(object_id char terminated by ",", object_name char terminated by ",")
    --執行sqlldr userid=scott/a123 control=1.ctl log=1.out direct=true
    --30秒可以載入200萬的測試數據 79MB


    --sqlldr userid=/ control=result1.ctl direct=true parallel=true
    --sqlldr userid=/ control=result2.ctl direct=true parallel=true
    --sqlldr userid=/ control=result2.ctl direct=true parallel=true
    --當加載大量數據時(大約超過10GB),最好抑制日志的產生:
    --SQLALTER TABLE RESULTXT nologging;
    --這樣不產生REDO LOG,可以提高效率。然后在CONTROL文件中load data上面加一行:unrecoverable
    --此選項必須要與DIRECT共同應用。
    --在并發操作時,ORACLE聲稱可以達到每小時處理100GB數據的能力!其實,估計能到1-10G就算不錯了,開始可用結構
    --相同的文件,但只有少量數據,成功后開始加載大量數據,這樣可以避免時間的浪費

     

    下面就是執行了

    Shell代碼 復制代碼
    1. sqlldr userid=scott/a123 control=1.ctl log=1.out direct=true  

     結果:30秒可以載入200萬的測試數據 79MB
              226秒載入1100萬的測試數據 392Mb

     

    我的環境是在虛擬機,測得的結果

    MemTotal:       949948 kB

    model name      : Intel(R) Pentium(R) D CPU 2.80GHz
    stepping        : 8
    cpu MHz         : 2799.560
    cache size      : 1024 KB

     

    還是挺快的:)

    posted on 2011-03-08 16:47 xzc 閱讀(4011) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 久久综合九九亚洲一区| 亚洲视频一区网站| 国产偷国产偷亚洲清高动态图 | 国产精品亚洲A∨天堂不卡| 亚洲国产精品乱码在线观看97| 噜噜噜亚洲色成人网站| 久久精品中文字幕免费| 免费少妇a级毛片| 亚洲av永久无码嘿嘿嘿| 中文在线观看永久免费| 日韩免费a级在线观看| 亚洲精品自产拍在线观看动漫| 99亚洲男女激情在线观看| 亚洲大片免费观看| 看全色黄大色大片免费久久| 久久亚洲日韩精品一区二区三区| 全部一级一级毛片免费看| 国产成人免费网站| 亚洲AV无码久久精品蜜桃| 久久综合国产乱子伦精品免费| 亚洲人成电影在线播放| 丰满亚洲大尺度无码无码专线 | 亚洲精品第一国产综合境外资源| 一本久久免费视频| 国产真人无遮挡作爱免费视频| 亚洲国产精品免费在线观看| 丁香花在线观看免费观看| 亚洲自偷精品视频自拍| 久久精品网站免费观看| 免费人成大片在线观看播放电影| 亚洲人成网站18禁止一区| 免费播放一区二区三区| 亚洲性无码一区二区三区| 又粗又大又黑又长的免费视频| 亚洲国产精品久久久久久| 免费福利网站在线观看| 高清免费久久午夜精品| 亚洲人成在线精品| 99在线视频免费观看视频| 黄页网站在线免费观看| 亚洲精品无码永久在线观看|