mysql生成百萬級數量測試資料

2022-02-26 07:19:55 字數 4202 閱讀 9681

首先我的生成table的**如下:

set foreign_key_checks=0;

------------------------------

--table structure for user

------------------------------

drop

table

ifexists `user

`;create

table `user

` (`username_`

bigint(255) not

null

auto_increment ,

`id_`

varchar(255) character

set latin1 collate latin1_swedish_ci null

default

null

,`password_`

varchar(255) character

set latin1 collate latin1_swedish_ci null

default

null

,primary

key(`username_`)

)engine

=myisam

default

character

set=latin1 collate=

latin1_swedish_ci

auto_increment

=4345501

;

這裡應該可以看到我的測試主鍵是username_,設定的是自動增加.

資料表設計完成之後需要插入一條資料,比方說隨便插入個(1,1,1),這裡就不再多提.

接下來就是和其他的部落格所不同的了,直接貼出**如下:

insert

into

user

(id_, password_)

select

md5(

rand

()),

rand

() from

user

插入的內容直接替換成了md5函式所生成的字串,當然這裡可以用其他的生成函式,或者一時間為隨機數種子什麼的,或者直接用sbustr直接擷取需要的長度都行,根據需要自行發揮就好.直接執行幾次就可以達到想要的資料量,我測試的時候10w資料生成時間在1s左右,100w資料生成的時間在20s以內.具體時間如下如下:

affected rows: 131072

time:

1.237s

affected rows:

1048576

time:

11.436s

affected rows:

2097152

time:

33.112s

下面簡單展示一下資料的效果:

8539769    b7dd0b3c4c05c24c17ffbac782380bfa    0.33960725678094406

8539770 76375a066cb84d6917f10f995e3bcab4 0.8744977376186268

8539771 96f64ceebae73c8ad8c70c8454c5e8de 0.5589919803282172

8539772 a6227053399504e8e43f2f270c7c6867 0.7503682642712893

8539773 499e38f691698a8dc9d6b09d8196a348 0.22606947480334852

8539774 f6707b6ba5613bbc976b0b0cd5608694 0.5420059194248225

8539775 87210a1472a3a0ac0a2fb267be926d29 0.2634874724442954

8539776 3a5160cd046a685d6c5bc1d7eb0df006 0.12820897822101504

8539777 873ca65bf8f16cf625cafe66157beb80 0.0645836108034324

8539778 7db474aa795bc426d96fcc227b85acd4 0.07320807787888504

8539779 0b7e470834663bf483b29879cf92d263 0.8097012590707291

8539780 4d87498d6b55d9e4be89cb49f5a2baa1 0.7254514980366933

8539781 17886ec3f1b8a74abccb5b6907ce418a 0.49626740766341554

8539782 56d0a73f1b7b8ae5e4108d1e1c0fc66a 0.9000175398774608

8539783 5771ffc3dd277f0f90bf70e9e50bdeac 0.6339268653038208

8539784 c6dd5f6242b1467b37e7a7754b49a93a 0.9444528584782527

8539785 b287343de15669e13c58783e0bdab87e 0.2392627999552179

8539786 fd216a8220ca4cf01cf354185d7f3670 0.04591774944767146

8539787 078ed0041a8d3c5cd80da0949f1e49c5 0.7190723165116015

8539788 b4df3c411abfbcad9b133f961aa0d205 0.24911454529419033

8539789 45c80eb49d90ac37383f27b3237391a7 0.26152578858800773

8539790 6917c5ccd8b46d2a76752b3eb3d94e45 0.7269593521272385

8539791 1100438096f9a168a9a64b0e2d5c47af 0.45849586972826706

8539792 cd605186ba36701ef566179b286ab04b 0.16878763229473273

8539793 9b1978f674244e393aafa57ce56c9c31 0.08050246264832324

8539794 29381a8b22bb91ff1bd0339b195b1d32 0.010458376268351801

8539795 90924c96c8ecf6b68a11eb67cd97ea38 0.47418726186658

8539796 4958f79ccfa8ae806870da3cb223f00d 0.9154328656526588

8539797 3fb17b3aafe4c17ecb6bafdc7e2d5fd2 0.12553936720410303

8539798 95ed08bbdb31dcc9aba57330fdab5160 0.14635246260683282

8539799 78993b5fac11a8bc35d68422d4ac06d0 0.6508427612957012

8539800 0b7ace71592830815a30fff7caa039db 0.048840577759631514

8539801 9f6d9871ba97d74d4ba78640ee596fd2 0.07038640237449334

8539802 aaded281f2d0057b578a52ae7c58f074 0.8977767218814946

8539803 e968a6d036fcca9abca2b9d9ef905a2a 0.42428037098076227

mysql中迅速插入百萬條測試資料的方法 - mokeychan -

mysql 快速生成百萬條測試資料 - 小哈-whzhaochao - csdn部落格

用一條sql快速生成10萬條測試資料 - sql server(mssql)資料庫欄目 - 紅黑聯盟

mysql隨機生成百萬條測試資料

mysql的隨機生成百萬條測試資料 今天跟大家分享的是mysql的如何生成百萬條測試資料。首先我們需要有資料來源,可以是幾條資料如下圖。然後執行一天的sql,如下 insert into grzxmxb orgname,cxlsh,czyh,checkname,checkorg,checkorgco...

SQL生成百萬隨機數 sqlserver

建表 表名tb 欄位id 必須是char型 create table tb id char 8 建立用於自動過濾重複值的唯一索引 表名tb 欄位id create unique index ix tb on tb id with ignore dup key go 插入隨機資料 setnocount...

JDBC實現往MySQL插入百萬級資料

from 想往某個表中插入幾百萬條資料做下測試,原先的想法,直接寫個迴圈10w次隨便插入點資料試試吧,好吧,我真的很天真.drop procedure ifexists proc initdata 如果存在此儲存過程則刪掉 delimiter create procedure proc initda...