# Skipping the Sorting Operation for `MergeJoin` Operator - Cont'd

```7
tidb> EXPLAIN SELECT * FROM employees, salaries WHERE employees.emp_no = salaries.emp_no;
+-------------------------+------------+-----------+-----------------+--------------------------------------------------------------------------+
| id                      | estRows    | task      | access object   | operator info                                                            |
+-------------------------+------------+-----------+-----------------+--------------------------------------------------------------------------+
| ~!@MergeJoin_8@!~             | 2825288.58 | root      |                 | inner join, left key:db1.employees.emp_no, right key:db1.salaries.emp_no |
| ├─TableReader_32(Build) | 2844047.00 | root      |                 | data:TableFullScan_31                                                    |
| │ └─TableFullScan_31    | 2844047.00 | cop[tikv] | table:salaries  | ~!@keep order:true@!~                                                          |     
| └─TableReader_30(Probe) | 300024.00  | root      |                 | data:TableFullScan_29                                                    |
|  └─TableFullScan_29     | 300024.00  | cop[tikv] | table:employees | ~!@keep order:true@!~                                                          |
+-------------------------+------------+-----------+-----------------+--------------------------------------------------------------------------+
5 rows in set (0.00 sec)
```

------------------------------------------------------------------------------
According to the execution plan, the process begins with `TableReader_32 (Build)` on line 2 and `TableFullScan_31` on line 3, which scans the entire `salaries` table and loads it into the TiDB Server cache. Next, `TableReader_30 (Probe)` on line 4 and `TableFullScan_29` on line 5 perform a similar scan for the `employees` table, also loading it into the cache. Finally, the `MergeJoin_8` operation on line 1 executes the `Merge Join` between the `salaries` and `employees` tables.

Key characteristics of the `Merge Join` operation are:
- It requires all participating tables to be sorted based on the join column before the matching process begins, making it ideal when the tables are already sorted.
- The need to load all tables into the cache means that there are high cache requirements.
- It does not support parallelism, but the time complexity of the join operation is generally determined by the total number of rows in the tables being joined.