From 86ac76a0dd0717da19b666b1910f7c89937f9160 Mon Sep 17 00:00:00 2001 From: Greg Broiles Date: Wed, 23 Nov 2022 12:23:15 -0800 Subject: [PATCH] Wrap table update in transaction Consolidating the table update into a single database transaction improves performance (on my instance approx 35%, 1000000 line insert 155 secs -> 100 secs) --- populate.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/populate.sql b/populate.sql index b356778..a6efb86 100644 --- a/populate.sql +++ b/populate.sql @@ -73,6 +73,7 @@ set @func_query = CONCAT( @func_query , ";" ); END IF; SET i=in_rows; SET batch_size=500; +START TRANSACTION; populate :loop WHILE (i>batch_size) DO PREPARE t_stmt FROM @func_query; @@ -87,6 +88,7 @@ SET @func_query=concat("INSERT INTO ", in_db,".",in_table," VALUES (",func_query END WHILE; LEAVE populate; END LOOP populate; +COMMIT; SELECT "Kedar Vaijanapurkar" AS "Developed by"; END $$