需快速擴充測試資料量時,可利用 INSERT ... SELECT 將查詢結果直接寫回目標表,實現資料指數級增長,無需應用層迴圈。
INSERT INTO target_table (col1, col2, col3) SELECT col1, col2, col3 FROM target_table;
-- 初始 2 筆 INSERT INTO user_info (version, create_user_count, create_pc_count) SELECT version, create_user_count, create_pc_count FROM user_info; -- 執行後變 4 筆,再執行變 8 筆...指數增長
SELECT ... FROM user_info WHERE version = 1 只複製特定版本。SELECT version+1, create_user_count*2, ... 生成變體資料。INSERT INTO archive_table SELECT * FROM user_info WHERE create_time < '2023-01-01'。NULL 讓自動生成。LIMIT 10000 迴圈。