遇到一個問題,我需要模擬上百萬數據來優化sql,線上數據down不下來,測試庫又沒有,寫代碼執行要么慢要么就是sql語句太長。
于是,直接用mysql自帶的功能去實現!
簡單而簡單
mysql可以for循環?沒錯!!可以的
在 MySQL 中,通常使用存儲過程(Stored Procedure)來實現類似于 for 循環的功能。存儲過程允許你在數據庫中定義一組 SQL 語句,并可以通過調用存儲過程來執行這些語句。
話不多說,開整!!!!
DELIMITER $$CREATE PROCEDURE simple_loop()
BEGINDECLARE i INT DEFAULT 1;DECLARE max_count INT DEFAULT 10;WHILE i <= max_count DO-- 在這里放置你想要循環執行的 SQL 語句INSERT INTO your_table (column1, column2) VALUES (i, 'some value');SET i = i + 1;END WHILE;
END$$DELIMITER ;
simple_loop : 存儲過程名稱,可以自定義,記下來!!
DECLARE max_count INT DEFAULT 10;? 就是循環的次數??
i 和 max_count : 自定義,就是for循環
好了,定義好了,為啥我執行沒反應呢?
莫慌,當前只是定義,我們需要調用,沒錯就是存儲過程就是個method (函數)!
開始調用
CALL simple_loop();
沒錯,就是CALL 就行!!!
------? end