Batch Updates in Oracle

Discussion of open issues, suggestions and bugs regarding Entity Framework support in ADO.NET Data providers
Post Reply
GrMikeD
Posts: 22
Joined: Tue 10 Nov 2009 20:24

Batch Updates in Oracle

Post by GrMikeD » Thu 12 Jan 2012 17:09

Hi,

I read your article on batch updates, tested it and I was impressed by the speed improvement.

Yet, I still feel a little bit skeptical about it and I have the following questions:

- You state that concurrency checking is disabled. Do you mean on EF or Database level? Any example of a possible negative impact?

- Since batch updating brings non-negligible performance improvements, why haven't you set it as the default policy of the driver?

Thanks in advance!

Shalex
Site Admin
Posts: 8248
Joined: Thu 14 Aug 2008 12:44

Post by Shalex » Fri 13 Jan 2012 15:44

GrMikeD wrote:- You state that concurrency checking is disabled. Do you mean on EF or Database level? Any example of a possible negative impact?
Only EF level.
Here is one of possible scenarios.
You have loaded 10 objects (10 records from some table in database). Concurrency Mode is set to Fixed for all significant fields to perform concurrency check of full value for all columns.
At the same time another user modifies these records in the database in some way and commits his changes (which are different from yours).
If you modify your 10 objects and call SaveChanges (when concurrency check is turned off), SaveChanges() will finish successfully although no one record is updated in the database.
GrMikeD wrote:Since batch updating brings non-negligible performance improvements, why haven't you set it as the default policy of the driver?
We adhere to the idea of backward compatibility when using the same (default) settings. We have not turned on batch updates by default to perform concurrency check when saving changes to the database.

GrMikeD
Posts: 22
Joined: Tue 10 Nov 2009 20:24

Post by GrMikeD » Sat 14 Jan 2012 00:24

Thanks a lot for the explanations!

Post Reply