sagiegurari / simple-oracledb

Extend capabilities of oracledb with simplified API for quicker development.
Apache License 2.0
36 stars 4 forks source link

investigate performance improvement by using new executemany #22

Closed sagiegurari closed 5 years ago

sagiegurari commented 6 years ago

to be used if available in batch operations.

sagiegurari commented 6 years ago

implemented in 1.2.1

cjbj commented 6 years ago

How do you find the performance compared with your old implementation?

sagiegurari commented 6 years ago

actually having some issues making it work. I'll have to stop in the middle and continue this later on... strange however that i'm getting an error which i'm not sure what exactly it means since it is not pointing to which field in which insert/update command. this is the error: "NJS-011: encountered bind value and type mismatch", // errBindValueAndTypeMismatch

will have to understand what i'm doing wrong, but might take a while as I no longer have access to oracle and I run tests via docker in travis which takes forever.

cjbj commented 6 years ago

Check the examples closely. Ping us if you have questions.

sagiegurari commented 5 years ago

@cjbj finally published a version that supports executeMany (sorry it took so long). next steps is to actually compare performance between the two and get some idea the performance impact of each.

cjbj commented 5 years ago

Nice!

It would have been great if options.useExecuteMany could have defaulted to true. Maybe once you've checked the performance benefits ...?

sagiegurari commented 5 years ago

it will be true once i feel its stable enough and well tested (my code i mean)

cjbj commented 5 years ago

@sagiegurari how it's going?

sagiegurari commented 5 years ago

executeMany is now turned on by default.

cjbj commented 5 years ago

Yay!