-
Type: Improvement
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Internal Code, Performance
-
None
-
Fully Compatible
In the current implementation of WriteBatchExecutor::execUpdate a new UpdateDriver object is implicitly created (under the write lock) for each update in the batch. Constructing an UpdateDriver is somewhat expensive.
However, an UpdateDriver object can be re-used, so it would be somewhat better if a single UpdateDriver object was created, than reset to handle each individual update operation in the batch. This would amortize the cost of UpdateDriver construction across all of the updates in the batch.
This would also have the nice side effect of hoisting UpdateDriver construction out of the write lock, as was done in the old update path.
- duplicates
-
SERVER-12380 port update improvements to batch write commands
- Closed