1. 程式人生 > >Oracle PL/SQL 大資料量資料生成器

Oracle PL/SQL 大資料量資料生成器

 本內容是臨時本人自己操作出來總結,如有疑問或者不足,請指出,畢竟我也是新手,不可能沒有錯。

在開發測試中,可能對資料庫表裡需要增加多條資料,而傳統insert語句批量可能達不到你想要的效果,於是就可以利用本文講到的PL/SQL的資料生成器,位置如圖。



表的位置選擇你要生成大量資料的表名,而記錄數10..20意思是隨機生成10-20中間一個數的SQL量,比如我選擇100..200,那就他就會生成一個X,X是大約100小於200的數,最後就會生成X條SQL。

輸入相關的表後,就需要設定資料列的格式,根據你的表要求不同,設定的屬性不同,比如時間,長度等等。

常用的格式有以下幾種:

  • a: a..z (小寫字元)
  • A: A..Z (大寫字元)
  • @: A..Z 和 a..z (所有字元)
  • #: A..Z 和 a..z 和 0..9 (所有字元和數字)
  • *: #33..#126 (所有 ASCII 字元)
  • 0: 0..9 (所有數字)
  • 1: 1..9 (所有除了 0 之外的數字)
  • 9: 0..9 (所有數字)
比如我想插入一個例如9999這種四位數數學,千位不能為0的話,我就可以這樣寫[1999],他就會生成例如9999,1000等四位數。

比如[Aaa00] 生成字串如: Gxe21Liy05 等。

關於常量是以['0']這種格式要求,比如我一個大小指定插入資料都為25的話,那麼格式為['25'];

關於日期來說,是用隨機函式Random,例如Random(2017/5/11 00:00:00,2017/5/11 23:59:59) ,同時需要去選項裡面設定日期格式yyyy/MM/dd hh:mm:ss,如下圖



例外還有一些常用函式,百度都能搜到,也可以靈活使用,比如Signal(Min, Max, Delta, Noise) 返回技術測定資料(象溫度這樣的)。Min(最小)和 Max(最大)決定了範圍, Delta(△)為最大更改量,還可以新增一些 Noise(噪聲)。例如:Signal(-10, 20, 0.1, 0.1)。我用來Signal(0, 999, 1)從0到999每次增加1為ID賦值,但我覺得不是這樣用的,但實測可以的。

還有

•Random([Min], Max) 返回Min(最小)和 Max(最大)之間的隨機數。如果只指定了 Max ,那麼 Min 就被設為 0 。對於日期欄位,可以輸入Min(最小)和 Max(最大)的日期。

•Sequence(Start, [Inc], [WithinParent]) 返回序號。Start 為開始值,Inc 為增量(預設為 1)。對於明細表,可以再指定WithinParent 關鍵詞來指出序列應該為每個父記錄進行重新安排。

•List('item'(weight), 'item'(weight), ...) 隨機地返回指定專案(item)之一。加權數(weight)可以被新增到兩個括號之間,允許特定專案比其他專案出現的機率更大。 例如:List('CLERK'(50), 'SALESMAN'(30), 'MANAGER'(10))

•List(select statement) 象前面的 List 函式,但專案是通過 SQL select statement(select 語句)返回的。

• Text([Style], MaxCharacters, [WordsPerLine, LinesPerParagraph]) 這個函式返回文字。可選擇的 Style(字型)引數可以是LorumIpsum(預設)(懷疑是荷蘭語。——譯者姜華東注)、英語、德語或日語。它還可以是象 [aA] 這樣的字符集,在這種情況下,詞彙從指定的字符集中產生。 MaxCharacters 決定了生成的文字的最大大小,WordsPerLine 和 LinesPerParagraph 決定了行和段落的大小。指定的大小可以是指定的數字或範圍(最小..最大)。

當你設定完後,就需要生成資料,如果不放心就能先測試。如圖


紅色框框就是測試,測試會以很直觀的樣子給你顯示出來,然後你看看你設定的資料是否符合。剩下就是插資料,插資料有兩種,第一種可以生成SQL,然後生成的SQL執行插入進去(上圖紅框下面的按鈕)。第二種是直接執行生成(上圖紅色按鈕下面的第二個按鈕)

相關推薦

Oracle PL/SQL 料量資料生成器

 本內容是臨時本人自己操作出來總結,如有疑問或者不足,請指出,畢竟我也是新手,不可能沒有錯。 在開發測試中,可能對資料庫表裡需要增加多條資料,而傳統insert語句批量可能達不到你想要的效果,於是就可以利用本文講到的PL/SQL的資料生成器,位置如圖。 表的位置

oracle中造料量的測試資料

CREATE     TABLE TEST_EXPORT NOLOGGING PARALLEL 4 AS SELECT     LEVEL           AS ID,     LEVEL||'NAME'   AS NAME,     LEVEL||'REMARK' A

JDK8 switch使用字串比if else 效率高,親測料量資料

for (TemplateFormVO templateFormVO:templateFormVOS){ formid=String.valueOf(templateFormVO.getFormId()); formId=templateFormVO.getFormI

MySql 分頁SQL 料量limit替代和優化(試驗)

select SQL_NO_CACHE u.id, u.user_id, u.user_name, u.user_name_index, u.email, u.pwd, u.email_token, u.email_active_date, u.

SQL料量分頁效能優化

目前在進行web api只讀介面的改造,在改造過程中,發現改在後響應時間和之前區別不是很大,通過測試結果顯示在sql的分頁功能處找到原因,並對其進行優化,優化方案如下。測試內容此次執行時間對比採用平臺資金記錄最多的使用者 user_id 36062測試次數未5次  為避免索引

sqlite儲存料量資料之淺見

   public class Dictionary extends Activity  implements OnClickListener, TextWatcher{ private final String DATABASE_PATH = android.os.Environment    .getEx

資料新增非同步解析重新整理料量redis (——)(五)redisutils

首先要在配置檔案注入這個bean     這也是我非同步重新整理獲取bean用的redisutils工具類: import javax.servlet.ServletContext; import javax.servlet.http.HttpServl

資料新增非同步解析重新整理料量redis (——)(四)非同步重新整理reids主

重新整理redis方法的bean: public class MethodAndParameter {     private String methodName;//方法名          pr

資料新增非同步解析重新整理料量redis (——)(三)Spring Boot普通類呼叫bean【從零開始學Spring Boot】

部落格分類:  從零開始學Spring Boot 從零開始學Spring BootSpring Boot普通類呼叫bean    【視訊&交流平臺】 à SpringBoot視訊 http://stu

資料新增非同步解析重新整理料量redis (——)(二) SpringBoot之CommandLineRunner介面和ApplicationRunner介面

在spring boot應用中,我們可以在程式啟動之前執行任何任務。為了達到這個目的,我們需要使用CommandLineRunner或ApplicationRunner介面建立bean,spring boot會自動監測到它們。這兩個介面都有一個run()方法,在實現介面時需要覆蓋該方法,並使用@

資料新增非同步解析重新整理料量redis (——)(一)Java Collection之Queue佇列

Queue介面與List、Set同一級別,都是繼承了Collection介面。LinkedList實現了Queue接 口。Queue介面窄化了對LinkedList的方法的訪問許可權(即在方法中的引數型別如果是Queue時,就完全只能訪問Queue介面所定義的方法 了,而不能直接訪問 Linke

料量單表在不同表名列名間的資料遷移

(windows Server 2008 R2+oracle 11g) 單表資料1.5億條記錄,90個欄位,檔案大小70G 處理思路:源端單表exp,目標端單表imp,再通過欄位對應關係轉入到目標表(不同表名、列名) exp username1/password1 buffer=6400

Hadoop學習筆記—4.初識MapReduce 一、神馬是高大上的MapReduce   MapReduce是Google的一項重要技術,它首先是一個程式設計模型,用以進行料量的計算。對於資料

Hadoop學習筆記—4.初識MapReduce 一、神馬是高大上的MapReduce   MapReduce是Google的一項重要技術,它首先是一個程式設計模型,用以進行大資料量的計算。對於大資料量的計算,通常採用的處理手法就是平行計算。但對許多開發

oracle pl/sql資料寫入Csv檔案 且以附件的形式傳送郵件

內容介紹 這篇文章將介紹,oracle 中如何將資料庫中查找出來的資料寫入csv 檔案,且將這個csv 檔案 ,用郵件以附件的形式傳送出去。如果你也想實現這個功能,請參考以下程式碼。如果想用sqlplus 方式實現,請參考我的另外一篇文章:sqlplus spool 生成csv檔案,且用

SQL Server 使用bcp進行料量匯出匯入

轉載:http://www.cnblogs.com/gaizai/archive/2010/04/17/1714389.html   SQL Server的匯出匯入方式有: 在SQL Server中提供了匯入匯出的介面操作。 在介面操作中又分【複製一個或多個表或檢視的資料】和【編寫查

(ORACLE)PL/SQL 常用的資料型別

(ORACLE)PL/SQL 常用的資料型別 表和列名的命名規則 1、必須以字母開頭 2、長度不能超過30個字元 3、不能使用Oracle的保留字 4、只能使用如下字元 A-Z a-z 0-9 $ # 等 常用的基本資料型別 字元型 CHAR 定長字元 最大200

POI 將按日期分表的資料彙總到一個excel中 料量

一. 簡介            現在有按時間分的使用者表,要在每月一號將這些表的資料彙總到一個excel中。每張表的資料量很大。            昨天通宵搞得,只為紀念,方便以後遇見同樣的需求做參考。            之前是想著每天匯出一個excel, 然

Oracle 料量查詢優化

前言:平常寫的SQL可能主要以實現查詢出結果為主,但如果資料量一大,就會突出SQL查詢語句優化的效能獨特之處.一般的資料庫設計都會建索引查詢,這樣較全盤掃描查詢的確快了不少.下面總結下SQL查詢語句的幾個優化效率的地方,經驗有限,難免有不足.    1.對查詢進行優化,應儘

料量高併發訪問SQL優化方法

保證在實現功能的基礎上,儘量減少對資料庫的訪問次數;通過搜尋引數,儘量減少對錶的訪問行數,最小化結果集,從而減輕網路負擔;能夠分開的操作儘量分開處理,提高每次的響應速度;在資料視窗使用SQL時,儘量把使用的索引放在選擇的首列;演算法的結構儘量簡單;在查詢時,不要過多地使用萬用

C#將dataGridView中顯示的資料匯出到Excel(料量超實用版)

       開發中很多情況下需要將dataGridView控制元件中顯示的資料結果以Excel或者Word的形式匯出來,本例就來實現這個功能。由於從資料庫中查找出某些資料列可能沒必要顯示出來,在dataGridView中將對應的列隱藏了,這時匯出時就會將隱藏的列匯出來,顯