首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL INSERT SELECT 快速導入百萬測試資料

     編輯:MySQL 資料庫相關知識

利用 INSERT ... SELECT 秒級生成百萬測試資料

原理:從表自身讀取資料再寫回,指數級增長,極適合快速構建測試資料集。

前提條件

  • SELECT 不能從目標表讀取(會報錯)
  • 目標表欄位數、型別與 SELECT 回傳一致或可隱式轉換

基本語法

INSERT INTO ler_items (classid, title, address, zipcode)
SELECT classid, title, address, zipcode
FROM ler_items;

倍增效果演示

執行次數資料筆數(初始 1 筆)
12
24
101,024
201,048,576

約 20 次迭代即達百萬級,耗時通常在秒級(視硬體而定)。

進階技巧

  • 配合 LIMIT 控制每次增量
  • 若需製造差異化資料,SELECT 列表中使用 CONCAT(), RAND() 等函數
  • 大量寫入前建議 SET autocommit=0; 批次提交,或調大 innodb_log_file_size

適用場景

  • 開發/測試環境快速造資料
  • 壓力測試前置資料準備
  • 分表/分庫邏輯驗證
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved