---
title: "Merge worker"
slug: "merge-worker"
abstract: "Overview of the Merge worker responsible for merging the tables created by the projection worker into a single table."
---
# Merge worker

The merge worker (`MergeWorker`) is a deferred worker that is responsible for merging the tables created by the projection worker into a single table. To use the merge worker, register a merge worker task that includes a merge worker options dictionary:

```csharp
// Syntax example only
Guid taskId = await _taskManager.RegisterDeferredTaskAsync(
    new MergeWorkerOptionsDictionary("targettable", "sctest_", TimeSpan.FromHours(2), "schema"),
    null,
    new TimeSpan(0, 10, 0))
    .ConfigureAwait(false);
```
> [!important]
> A merge worker task should always be registered in a task chain after a projection worker task.