I have an application that works slowly on a WAN - we believe that the reason is a lot of inserts into the table. I am currently exploring more efficient ways to insert multiple rows at once.
I found this method:
INSERT ALL INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (100,20) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (21,2) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (321,10) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (22,13) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (14,121) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (11,112) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (112,23) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (132,2323) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (121,34) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (24333,333) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (1232,3434) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (4554,3434) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (3434,211) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (3434,1233) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (12,22) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (356,233) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (9347,23) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (8904,245) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (342,4545) INTO MULTI_INSERT(VAL_1, VAL_2) VALUES (453,233) SELECT 1 FROM DUAL;
What I would like to know is the method above, actually more efficient than just doing 20 "INSERT INTO MY_TABLE (1,1);"? Are there other ways to do this?