用一張表解決你批量插入千萬條資料的煩惱

2021-09-18 07:36:39 字數 1615 閱讀 4088

在效能測試時,常常需要大量的記錄數。 mysql函式較少,在postgresql中有generate_series函式,使用十分方便。在mysql中如何更加方便的處理,可以生成乙個序列號表,專門用於批量操作,插入資料。

-- 建立序列表

create

table numserial (

num int);

-- 插入資料

insert

into numserial(num)

values(0

),(1

),(2

),(3

),(4

),(5

),(6

),(7

),(8

),(9

);-- 生成0-9999999。

insert

into numserial(num)

select num from

(select

(bw.num *

1000000

+ sw.num *

100000

+ w.num*

10000

+ q.num*

1000

+ b.num*

100+ s.num*

10+ g.num)

as num

from

numserial g,numserial s,numserial b,numserial q,numserial w,numserial sw,numserial bw

) tnum

where num >=

10order

by num asc

;-- 後續可以使用這個序列表,快速生成其他資料

-- select * from numserial;

-- 如何使用。

-- 通過函式,生成一些有序列,隨機數。

select num, concat(

'code'

,num)

, concat(rand()*

1000000

,'name'),

left

(uuid(),

12)-- 控制數量和範圍

乙個錶能解決的問題,你非要寫個儲存過程?還不趕緊收藏一下。

用現有表往另一張表插資料

設有a表 create table a int id,varchar 10 name,varchar 1 gender 有b表 create table b int id,varchar 10 name,varchar 1 gender,int money,int tax 特點 b表結構是a表結構 ...

new一張form時用using 的好處。

以下程式碼,用using可避免一些問題,例如handel10000。如果paymentform裡面用dialogresult 而不是close或x,close或x會即時dispose 但dialogresult不會 雖然說dotnet會自動 但非常之不確定,特別是短時內不會 造成資料浪費。用以下辦法...

一張貼告訴你什麼是訊息佇列

訊息 message 是指在應用之間傳送的資料,訊息可以非常簡單,比如只包含文字字串,也可以更複雜,可能包含嵌入物件。訊息佇列 message queue 是一種應用間的通訊方式,訊息傳送後可以立即返回,由訊息系統來確保資訊的可靠專遞,訊息發布者只管把訊息發布到mq中而不管誰來取,訊息使用者只管從m...