當前位置:首頁 » 數據倉庫 » 同時向資料庫寫大量
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

同時向資料庫寫大量

發布時間: 2023-05-15 01:05:53

❶ Mysql資料庫 寫入大量數據如何實現

//最快的方法10000記錄23MS
publicstaticvoidinsert(){
//開時時間
Longbegin=newDate().getTime();
//sql前綴
Stringprefix="INSERTINTOtb_big_data(count,create_time,random)VALUES";
try{
//保存sql後綴
StringBuffersuffix=newStringBuffer();
//設置事務為非自動提交
conn.setAutoCommit(false);
//Statementst=conn.createStatement();
//比起st,pst會更好些
PreparedStatementpst=conn.prepareStatement("");
//外層循環,總提交事務信吵次數
for(inti=1;i<=100;i++){
皮啟//第次提交步長
for(intj=1;j<=10000;j++){
//構建sql後綴
suffix.append("("+j*i+",SYSDATE(),"+i*j
*Math.random()+"),");
}
//構建完整sql
Stringsql=prefix+suffix.substring(0,suffix.length()-1);
//添加執行sql
pst.addBatch(sql);
//執行操作
pst.executeBatch();
//提交事務
conn.commit();
//清空上一次添加的數據
suffix=newStringBuffer();
}
//頭等連接
燃坦如pst.close();
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
//結束時間
Longend=newDate().getTime();
//耗時
System.out.println("cast:"+(end-begin)/1000+"ms");
}

❷ 如何向資料庫快速的寫入百萬條數據

如何向資料庫快速的寫入百萬條數據
現在我的處理方式是讀取原資料庫表的所有數據,大毀或概有一罩余帶百萬條吧,然後放到一個數組裡面,循環向目標資料庫寫數據(兩個資料庫之物蘆間的數據遷移,表結構不同,我是寫的php腳本來查詢導入的),一開始速度還可以,但是現在幾乎一秒鍾一條了

❸ 如何向一個sql sever 資料庫表中插入大量數據

  1. 一次性插入大量數據,只能使用循環,

  2. 如:游標,while 循環語句

  3. 下面介紹While 循環插入數據,

  4. SQL 代碼如下:

  5. IF OBJECT_ID('dbo.Nums') IS NOT NULL

  6. DROP TABLE dbo.Nums;

  7. GO

  8. CREATE TABLE dbo.Nums(n INT NOT NULL PRIMARY KEY);

  9. DECLARE @max AS INT, @rc AS INT;

  10. SET @max = 5000000;

  11. SET @rc = 1;

  12. INSERT INTO Nums VALUES(1);

  13. WHILE @rc * 2 <= @max

  14. BEGIN

  15. INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums;

  16. SET @rc = @rc * 2;

  17. INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums WHERE n + @rc <= @max;

  18. --以上函數取自Inside SQL Server 2005: T-SQL Query一書。

  19. INSERT dbo.Sample SELECT n, RAND(CAST(NEWID() AS BINARY(16))) FROM Nums

❹ 如何往SQL資料庫中快速插入大量數據

有declare語句是可以的
比如創建了一個表a:
create table a
( aid int identity(1,1) not null Primary(Key),
adata int)

插入數據:
declare @n int
set @n = 0
while @n < 2000
begin
set @n = @n+1
insert into a(adata) values(@n)
end

自己改改就可以了