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!
Batch Updates in Oracle
Only EF level.GrMikeD wrote:- You state that concurrency checking is disabled. Do you mean on EF or Database level? Any example of a possible negative impact?
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.
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 wrote:Since batch updating brings non-negligible performance improvements, why haven't you set it as the default policy of the driver?