使用DBeaver 連接mysql,使用存儲過程插入5萬條數據

使用DBeaver連接MySQL并創建存儲過程生成5萬條數據

連接MySQL數據庫
打開DBeaver,點擊"數據庫"菜單選擇"新建連接",選擇MySQL驅動。填寫主機、端口、數據庫名稱、用戶名和密碼等信息,測試連接成功后保存。
在這里插入圖片描述

創建測試表結構
在SQL編輯器中執行以下語句創建測試表:

CREATE TABLE security_moat(station_id bigint AUTO_INCREMENT PRIMARY KEY,station_sn bigint,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

創建存儲過程生成數據
執行以下存儲過程,該過程會批量插入5萬條隨機數據:

DELIMITER $$
CREATE PROCEDURE InsertBulkDatc15(IN num_records  INT)
BEGINDECLARE i INT DEFAULT 0;DECLARE current_station_id bigint default 0;DECLARE current_device_id bigint default 1;-- 開啟事務確保性能START TRANSACTION;WHILE i < num_records  DO-- 生成模擬數據SET current_station_id = CONCAT(3109, i);SET current_device_id = CONCAT(5100, i);-- 插入記錄insert into security_moat (station_id,station_sn) values (current_station_id,current_device_id);SET i = i + 1;-- 每10條提交一次,平衡性能與內存使用IF i % 10 = 0 THENcommit;START TRANSACTION;END IF;END WHILE;COMMIT;
END$$
DELIMITER ;

執行存儲過程
調用存儲過程生成5萬條記錄:
2種方式,一種直接通過 call命令在sql窗口執行

CALL generate_test_data(50000);

一種通過python腳本執行,腳本名稱 test.py

import pymysql
import timedef bulk_insert_via_stored_procedure():# 數據庫配置config = {'host': 'localhost','user': 'art','password': 'test','database': 'mysql','charset': 'utf8mb4','cursorclass': pymysql.cursors.DictCursor}try:# 連接數據庫connection = pymysql.connect(**config)with connection.cursor() as cursor:print("開始調用存儲過程插入數據...")start_time = time.time()# 調用存儲過程,傳入要插入的記錄數cursor.callproc('InsertBulkDatc15', (50000,))connection.commit()elapsed = time.time() - start_timeprint(f"成功插入50,000條記錄,耗時: {elapsed:.2f}秒")print(f"平均速率: {50000/elapsed:.2f} 條/秒")except pymysql.MySQLError as e:print(f"數據庫錯誤: {e}")finally:if connection:connection.close()if __name__ == "__main__":bulk_insert_via_stored_procedure()

本地連接,直接通過cmd執行即可
如果為服務器上,通過服務器執行腳本
本地打開cmd,輸入D: 進到 test.py所在位置
py test.py 執行腳本
在這里插入圖片描述

驗證數據生成
查詢表記錄數確認數據生成成功:

SELECT COUNT(*) FROM test_data;

清理資源
數據生成完成后可刪除存儲過程:

DROP PROCEDURE IF EXISTS generate_test_data;
DROP PROCEDURE IF EXISTS generate_test_data_optimized;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/86587.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86587.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86587.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

某省賽題-windows內存取證

1.獲取admin用戶密碼是多少&#xff1f; 這里我們使用hashdump之后用john爆破沒有結果&#xff0c;然后使用lsadump出來了flag 2.獲取ip和主機名是什么&#xff1f; 主機名&#xff1a; 看注冊表 SAM&#xff1a;記錄了所有的用戶 SYSTEM&#xff1a;可以看主機名 SOFTWARE&a…

【軟考高項論文】論信息系統項目的成本管理

摘要 在信息系統項目管理里&#xff0c;成本管理是極為關鍵的環節&#xff0c;直接影響項目的順利開展與最終成敗。本文結合項目管理實際情況&#xff0c;從項目成本基準的形成過程、項目S曲線的繪制以及成本控制的具體實施三個方面&#xff0c;詳細闡述了對信息系統項目成本管…

AI人工智能技術應用于人社服務領域的創新研究報告

AI 人工智能技術應用于人社服務領域的創新研究報告 一、研究背景與市場概況 1.1 研究背景與政策環境 人工智能技術正深刻改變政府治理模式和公共服務方式。在國家全面推進數字化轉型的戰略背景下,人社部《數字人社建設行動實施方案》明確提出:到 2025 年,人社數字化底座…

javaEE-mybatis操作數據庫

前言 在MySQL的學習階段&#xff0c;我們知道了如何使用JDBC去操作&#xff0c;也正是因為學習了JDBC也知道其操作的繁瑣&#xff0c;每次的CRUD操作都需要從數據庫連接池中去獲取數據庫連接&#xff0c;然后再編寫SQL語句&#xff0c;并綁定對應的參數&#xff0c;接著通過連…

移動端測試——如何解決iOS端無法打開彈窗式網頁(Webkit)

目錄 一、什么是webkit&#xff1f; 1. 核心定義 2. iOS 的特殊限制 3. 彈窗攔截的邏輯 二、為什么 iOS 必須用 WebKit&#xff1f; 1. 蘋果的官方理由 2. 實際后果 3.然而…… 三、如何解決iOS端無法打開彈窗式網頁&#xff1f; 1.用戶 1.1 safari瀏覽器 1.2 夸克…

【github】從本地更新倉庫里的文件筆記

1. 打開GitHub官網&#xff0c;并登錄到您的賬戶。 2. 在頁面右上角的搜索欄中&#xff0c;輸入您要更新的倉庫名稱&#xff0c;并選擇相應的倉庫進入。 3. 在倉庫頁面中&#xff0c;找到并點擊紅色的“Code”按鈕&#xff0c;然后復制倉庫的HTTPS或者SSH鏈接。 4. 右鍵包含…

Excel基礎:數據編輯

Excel是Windows下最常用的數據處理工具&#xff0c;本文詳細介紹Excel的數據編輯功能&#xff0c;熟練掌握編輯技巧能可以極大提升工作效率&#xff0c;文章最后附加了一張總結思維導圖&#xff0c;方便大家查找和記憶。 文章目錄 一、數據輸入1.1 覆蓋輸入1.2 追加輸入1.3 任…

JavaScript中Object()的解析與應用

在JavaScript中&#xff0c;Object() 是一個基礎構造函數&#xff0c;用于創建對象或轉換值為對象類型。它既是語言的核心組成部分&#xff0c;也提供了一系列靜態方法用于對象操作。以下是詳細解析和應用示例&#xff1a; 一、Object() 的基本行為 作為構造函數&#xff08;…

stream使用案例

1.1 查找所有的偶數并求和 public static void p1() { List<Integer> numbers Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); int sum numbers.stream() .filter(num -> num % 2 0) .mapToInt(Integer::intValue) .sum() ; System.err.printf…

力扣 刷題(第七十一天)

靈感來源 - 保持更新&#xff0c;努力學習 - python腳本學習 4的冪 解題思路 位運算條件&#xff1a;4 的冪的二進制表示中只有一個 1&#xff0c;且位于奇數位&#xff08;如 4 100&#xff0c;4 10000&#xff09;。模運算條件&#xff1a;4 的冪減 1 后能被 3 整除&…

深度學習使用Pytorch訓練模型步驟

訓練模型是機器學習和深度學習中的核心過程&#xff0c;旨在通過大量數據學習模型參數&#xff0c;以便模型能夠對新的、未見過的數據做出準確的預測。 訓練模型通常包括以下幾個步驟&#xff1a; 1.數據準備&#xff1a; 收集和處理數據&#xff0c;包括清洗、標準化和歸一化…

Unity_導航操作(鼠標控制人物移動)_運動動畫

文章目錄 前言一、Navigation 智能導航地圖烘焙1.創建Plan和NavMesh Surface2.智能導航地圖烘焙 二、MouseManager 鼠標控制人物移動1.給場景添加人物&#xff0c;并給人物添加導航組件2.編寫腳本管理鼠標控制3.給人物編寫腳本&#xff0c;訂閱事件&#xff08;添加方法給Mouse…

6. 接口分布式測試pytest-xdist

pytest-xdist實戰指南&#xff1a;解鎖分布式測試的高效之道 隨著測試規模擴大&#xff0c;執行時間成為瓶頸。本文將帶你深入掌握pytest-xdist插件&#xff0c;利用分布式測試將執行速度提升300%。 一、核心命令解析 加速安裝&#xff08;國內鏡像&#xff09; pip install …

預訓練語言模型

預訓練語言模型 1.1Encoder-only PLM ? Transformer結構主要由Encoder、Decoder組成&#xff0c;根據特點引入了ELMo的預訓練思路。 ELMo&#xff08;Embeddings from Language Models&#xff09;是一種深度上下文化詞表示方法&#xff0c; 該模型由一個**前向語言模型&…

Altera PCI IP target設計分享

最近調試也有關于使用Altera 家的PCI IP&#xff0c;然后分享一下代碼&#xff1a; 主要實現&#xff1a;主控作為主設備&#xff0c;FPGA作為從設備&#xff0c;主控對FPGA IO讀寫的功能 后續會分享FPGA作為主設備&#xff0c; 從 FPGA通過 memory寫到主控內存&#xff0c;會…

基于機器學習的智能文本分類技術研究與應用

在當今數字化時代&#xff0c;文本數據的爆炸式增長給信息管理和知識發現帶來了巨大的挑戰。從新聞文章、社交媒體帖子到企業文檔和學術論文&#xff0c;海量的文本數據需要高效地分類和管理&#xff0c;以便用戶能夠快速找到所需信息。傳統的文本分類方法主要依賴于人工規則和…

前端項目3-01:登錄頁面

一、效果圖 二、全部代碼 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>碼農魔盒</title><style>.bg{position: fixed;top: 0;left:0;object-fit: cover;width: 100vw;height: 100vh;}.box{width: 950px;he…

Nexus CLI:簡化你的分布式計算貢獻之旅

探索分布式證明網絡的力量&#xff1a;Nexus CLI 項目深入解析 在今天的數字時代&#xff0c;分布式計算和去中心化技術正成為互聯網發展的前沿。Nexus CLI 是一個為 Nexus 網絡提供證明的高性能命令行界面&#xff0c;它不僅在概念上先進&#xff0c;更是在具體實現中為開發者…

IBW 2025: CertiK首席商務官出席,探討AI與Web3融合帶來的安全挑戰

6月26日至27日&#xff0c;全球最大的Web3安全公司CertiK亮相伊斯坦布爾區塊鏈周&#xff08;IBW 2025&#xff09;&#xff0c;首席商務官Jason Jiang出席兩場圓桌論壇&#xff0c;分享了CertiK在AI與Web3融合領域的前沿觀察與安全見解。他與普華永道土耳其網絡安全服務主管Nu…

Vivado 五種仿真類型的區別

Vivado 五種仿真類型的區別 我們還是用“建房子”的例子來類比。您已經有了“建筑藍圖”&#xff08;HLS 生成的 RTL 代碼&#xff09;&#xff0c;現在要把它建成真正的房子&#xff08;FPGA 電路&#xff09;。這五種仿真就是在這個過程中不同階段的“質量檢查”。 1. 行為…