# Hash Aggregation Function Operator - `HashAgg` - Cont'd

+ **`root`**: The **`HashAgg`** is performed on the TiDB server instance
+ **`cop[tikv]`**: The **`HashAgg`** is performed on multiple TiKV servers in parallel

```
tidb> EXPLAIN SELECT COUNT(hire_date) FROM employees;
+----------------------+-----------+-----------+-----------------+------------------------------------------------------+
| id                   | estRows   | task      | access object   | operator info                                        |
+----------------------+-----------+-----------+-----------------+------------------------------------------------------+
| HashAgg_11           | 1.00      | ~!@root@!~      |                 | funcs:count(Column#8)->Column#7                      |
| └─TableReader_12     | 1.00      | root      |                 | data:HashAgg_5                                       |
|  └─HashAgg_5         | 1.00      | ~!@cop[tikv]@!~ |                 | funcs:count(employees.employees.hire_date)->Column#8 |
|   └─TableFullScan_10 | 300024.00 | cop[tikv] | table:employees | keep order:false                                     |
+----------------------+-----------+-----------+-----------------+------------------------------------------------------+
4 rows in set (0.01 sec)
```
------------------------------------------------------------------------------
Reviewing the execution plan, the steps are as follows:

1. `TableFullScan_10` on line 4 performs a full scan of the employees data across various TiKV nodes.
2. `HashAgg_5` on line 3 calculates `COUNT(hire_date)` on these TiKV nodes, demonstrating that TiKV's coprocessor supports the `HashAgg` operator.
3. `TableReader_12` on line 2 aggregates the results from the `HashAgg` operator on each TiKV node and sends them to the TiDB Server. The `TableReader` data aggregator signifies that a table scan is used. 
4. The final step on line 1 involves the TiDB Server aggregating the results from the `HashAgg` operators on the TiKV nodes and performing an additional internal `HashAgg` operation within the TiDB Server instance.

In the `task` column, `root` indicates that the `HashAgg` is executed on the TiDB Server, while `cop[tikv]` signifies that the `HashAgg` operation is carried out in parallel across multiple TiKV servers.