# EXPLAIN REBALANCE ALL DATABASES

The `EXPLAIN REBALANCE ALL DATABASES` command returns the set of steps that `REBALANCE ALL DATABASES` would run if you run it at that time.

## Syntax

```sql
EXPLAIN REBALANCE ALL DATABASES;

```

## Estimated\_Time\_Remaining\_Ms

The `Estimated_Time_Remaining_Ms` column contains an estimate (in milliseconds) for each low-level command as follows:

* **Command is running**

  * The estimate is the remaining time for the command to complete.
  * For a running `COPY PARTITION` operation, the engine obtains the remaining-time estimate from the `ESTIMATED_CATCHUP_TIME_S` column in the [MV\_REPLICATION\_STATUS](https://docs.singlestore.com/db/v9.0/reference/information-schema-reference/replication-management/mv-replication-status.md) information schema view and converts it to milliseconds. For a running `PROMOTE` operation, the engine uses the larger of the catch-up estimate and the replay estimate. If the live estimates are not available, the value is `NULL`.
* **Command has not started**

  * The estimate is the expected runtime of the command.
  * For commands that have not started, `EXPLAIN REBALANCE`, and other action types (such as `DROP PARTITION`), SingleStore uses a per-database, per-action-type exponential moving average of previous completed runtimes. The latest measurement has a weight of 0.1, and the stored average has a weight of 0.9.

The estimate is based on historical runs for the same database and action type, and its accuracy depends on how well the previous runs reflect current conditions. It is not a confidence interval and does not automatically account for changes in data volume between infrequent rebalance operations.

## Example

```sql
EXPLAIN REBALANCE ALL DATABASES;

```

```output

+----------+-----------------------------+---------+-------------+-------------+-------+-----------------------------+
| Database | Action                      | Ordinal | Target_Host | Target_Port | Phase | Estimated_Time_Remaining_Ms |
+----------+-----------------------------+---------+-------------+-------------+-------+-----------------------------+
| x_db     | COPY PARTITION              | 13      | 127.0.0.1   | 10002       | 3     | 7821                        |
| x_db     | COPY PARTITION              | 2       | 127.0.0.1   | 10003       | 4     | 7821                        |
| x_db     | COPY PARTITION              | 2       | 127.0.0.1   | 10004       | 4     | 7821                        |
| x_db     | PROMOTE PARTITION WITH DROP | 2       | 127.0.0.1   | 10003       | 5     | 1351                        |
| x_db     | DROP PARTITION              | 2       | 127.0.0.1   | 10002       | 6     | 1002                        |
| x_db     | DROP PARTITION              | 13      | 127.0.0.1   | 10004       | 6     | 1002                        |
+----------+-----------------------------+---------+-------------+-------------+-------+-----------------------------+
```

The *Ordinal* is the target partition’s ordinal, and the *Target\_Host* and *Target\_Port* correspond to the destination leaf. Any two operations in the same *Phase* can be run in parallel and phases are run in order. For example, the aggregator can run `COPY PARTITION` on partitions `test:1` and `test:3` in parallel. The exact meaning of what each phase means is arbitrary and depends on the particular rebalance operation.

***

Modified at: October 16, 2026

Source: [/db/v9.0/reference/sql-reference/cluster-management-commands/explain-rebalance-all-databases/](https://docs.singlestore.com/db/v9.0/reference/sql-reference/cluster-management-commands/explain-rebalance-all-databases/)

(An index of the documentation is available at /llms.txt)
