<!--
{
  "documentType" : "article",
  "framework" : "CoreData",
  "identifier" : "/documentation/CoreData/batch-processing",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Batch processing"
}
-->

# Batch processing

Use batch processes to manage large data changes.

## Topics

### Data Inserts

[`NSBatchInsertRequest`](/documentation/CoreData/NSBatchInsertRequest)

A request to insert a batch of data in a persistent store.

[`NSBatchInsertResult`](/documentation/CoreData/NSBatchInsertResult)

The result that Core Data returns when executing a batch-insertion request.

### Data Updates

[`NSBatchUpdateRequest`](/documentation/CoreData/NSBatchUpdateRequest)

A request to Core Data to do a batch update of data in a persistent store without loading any data into memory.

[`NSBatchUpdateResult`](/documentation/CoreData/NSBatchUpdateResult)

The result returned when executing a batch update request.

### Data Deletion

[`NSBatchDeleteRequest`](/documentation/CoreData/NSBatchDeleteRequest)

A request that deletes objects in the SQLite persistent store without loading them into memory.

[`NSBatchDeleteResult`](/documentation/CoreData/NSBatchDeleteResult)

An object that describes the result of a batch delete request.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)