oracle+循环插入sql,SQL server,Oracle循环插入百万数据
SQL server,Oracle循環插入百萬數據
SQL server,Oracle循環插入百萬數據
壓測時常需要往數據庫插入大量數據,下面是我往兩個數據庫插入數據時用的腳本
declare @maxSum int,
@lid nvarchar(64), -- 'lid'為表id
@cid int,
@userid nvarchar(64),
@oper_time nvarchar(26),
@oper_type nvarchar(10),
@oper_host nvarchar(64),
@permission nvarchar(100),
@status nvarchar(10),
@detalls nvarchar(max),
@version int
set @maxSum=1
set @cid='1'
set @userid='1'
set @oper_time='2020-10-26 12:15:07.000761'
set @oper_type='7'
set @oper_host='127.0.0.1'
set @permission='system'
set @status='0'
set @detalls='{"msg":"Login for User:admin.","logBeans":null}'
set @version='0'
begin tran
while @maxSum<200000
begin
set @lid='LID'+convert(nvarchar,@maxSum) -- id加'LID'前綴方便識別
insert into T_AT_LOG (LID,CID,USERID,OPER_TIME,OPER_TYPE,OPER_HOST,PERMISSION,STATUS,DETAILS,VERSION)
values(@lid,@cid,@userid,@oper_time,@oper_type,@oper_host,@permission,@status,@detalls,@version)
set @maxSum=@maxSum+1
end
commit
數據要分批Commit,這里我是單次20萬筆,數據庫是無法支撐單次幾百萬筆Commit的。
單筆耗時28秒
這腳本效率不是很滿意,有更高效率的腳本歡迎在評論區分享
DECLARE
a number(30) := 0;
BEGIN
for i in 1 .. 200000 loop
INSERT INTO T_AT_LOG(LID,CID,USERID,OPER_TIME,OPER_TYPE,OPER_HOST,PERMISSION,STATUS,DETAILS,VERSION)
VALUES(i,'1','1','2020-10-13 10:25:38.000176','8','127.0.0.1','system','0','{"msg":"Login for User:admin.","logBeans":null}','0');
end loop;
commit;
END;
這里一樣是分批Commit
單筆耗時33秒
SQL server,Oracle循環插入百萬數據相關教程
從實踐的角度來回顧一下SQL注入
從實踐的角度來回顧一下SQL注入 題記: 長江三角洲是每一粒細少堆疊起來的 【x1】微信公眾號的每日提醒 隨時隨記 每日積累 隨心而過 【x2】各種系列的視頻教程 免費開源 關注 你不會迷路 【x3】系列文章 百萬 Demo 隨時 復制粘貼 使用 1 什么是 sql 注入 ??
MyBatis打工人——sql配置文件詳解
MyBatis打工人——sql配置文件詳解 這一篇,老多代碼了,我的天。我用了經典的emp表和dept表做演示。加油!打工人。(看到隔壁的鐵人為了調休奮戰了36小時沒睡,我陷入入了沉思) Mybatis SQL映射 在SQL映射文件中,有需要的頂級元素標簽:--cache – 該命名
python爬蟲:爬取動態網頁并將信息存入MySQL數據庫
python爬蟲:爬取動態網頁并將信息存入MySQL數據庫 目標網站 http://www.neeq.com.cn/disclosure/supervise.html 爬取網頁該部分內容 網頁分析 查看網頁源代碼發現沒有表格部分內容,對網頁請求進行分析 F12–network----xhr 接下來分析數據來源,切換到Heade
【MySQL】索引使用詳解(聯合索引,覆蓋索引,ICP)及創建的幾點
【MySQL】索引使用詳解(聯合索引,覆蓋索引,ICP)及創建的幾點建議 準備工作,下面的演示都是基于user_innodb表: DROP TABLE IF EXISTS `user_innodb`;CREATE TABLE `user_innodb` ( `id` bigint(64) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NU
技術實踐丨PostgreSQL開啟Huge Page場景分析
技術實踐丨PostgreSQL開啟Huge Page場景分析 PostgreSQL用戶經常發現,服務端在連接數較大的情況下,會出現系統內存消耗過多的情況,嚴重者可能會造成OOM。但是服務端配置的共享內存(shared_buffers,wal_buffers等)是一定的,為什么內存會持續增加呢?這就
SqlServer筆記5
SqlServer筆記5 目錄 1.創建視圖 2.注意事項 3.例題 視圖名必須遵循標識符命名規則,且對每類用戶視圖名必須是唯一的,即對不同用戶定義相同的視圖,也必須使用不同的名字。 SELECT查詢子句的查詢內容就是視圖的內容。SELECT語句通常不允許含有ORDER BY子句和
Java知識點之Java Mysql連接
Java知識點之Java Mysql連接 點擊上面 免費訂閱本賬號! 本公眾號主要推送javaweb開發相關技術,基礎知識點,同時會深入剖析復雜的問題,分享一些優秀的框架,大型項目經驗,當今最流行的Javaweb技術,熱點科技新聞,招聘信息,生活樂趣等等。點擊上方的藍字
Oracle cluster使用場景分析
Oracle cluster使用場景分析 點擊上面 免費訂閱本賬號! 本公眾號主要推送javaweb開發相關技術,基礎知識點,同時會深入剖析復雜的問題,分享一些優秀的框架,大型項目經驗,當今最流行的Javaweb技術,熱點科技新聞,招聘信息,生活樂趣等等。點擊上方的藍字
總結
以上是生活随笔為你收集整理的oracle+循环插入sql,SQL server,Oracle循环插入百万数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mesh和wifi中继的区别_深度解读M
- 下一篇: java redis 多节点,Redis