Page 1 of 1
Improve Oracle insert performance using EF Core
Posted: Tue 02 Aug 2016 14:25
by ricsmania
I'm trying to insert many records into Oracle using EF Core but the performance is far from acceptable.
If I insert directly without EF Core I can insert around 150k rows/s.
By using EF Core I insert around 2k rows/s.
Does the EF Core driver support bulk inserts? If so, how do I do that?
I have tried using the BatchUpdates options but I don't know if it works with EF Core or how to use it.
If not, is there another solution to improve performance?
Thanks!
Re: Improve Oracle insert performance using EF Core
Posted: Thu 04 Aug 2016 11:33
by Shalex
We recommend to use direct path load (via
OracleLoader class) to get the best performance.
Re: Improve Oracle insert performance using EF Core
Posted: Mon 08 Aug 2016 13:59
by ricsmania
I got much better performance by using direct path, like I said on the first post, but my question is if it is somehow possible to improve performance when using EF Core.
More specifically, are batch updates supported in EF Core. If so, how to use it? This page says the feature exists, but doesn't specify for which versions:
https://www.devart.com/dotconnect/entityframework.html
Performance:
Batch Updates
Our providers support configurable batch updates, grouping several INSERT/UPDATE/DELETE statements into one SQL block, which increases SaveChanges() performance substantially, because of reducing number of server calls and producing more compact SQL code.
Re: Improve Oracle insert performance using EF Core
Posted: Tue 09 Aug 2016 08:37
by Shalex
The Batch Updates feature is supported for EF1, EF4, EF5, EF6. We will notify you when the corresponding support is implemented for EF Core as well.
Re: Improve Oracle insert performance using EF Core
Posted: Fri 09 Dec 2016 17:31
by Shalex
Batch Updates support in EF Core is added:
viewtopic.php?f=1&t=34692.