TiDB defines operations in a list.
| Operation | Category | Reference | Description |
|---|---|---|---|
| Aggregation | Folder | Link | Aggregate data. |
| Apply | Join | Link | A join algorithm. |
| Batch_Point_Get | Producer | Link | It retrieves a range of data from an index. |
| ClusterMemTableReader | Producer | Link | Scan data from cluster memory. |
| CTE | Producer | Link | Scan the entire CTE. |
| CTEFullScan | Producer | Link | Scan the entire CTE. |
| CTETable | Producer | Link | CTE is a special data structure defined by TiDB as an intermediate representation. |
| DataSource | Producer | Link | Unknown table scanning operation that never is observed in practice. |
| Delete | Consumer | Link | Delete data. |
| ExchangeReceiver | Executor | Link | Collect results. |
| ExchangeSender | Executor | Link | Distribute tasks. |
| Exists | Folder | Link | The equivalence to the keyword “EXISTS” in SQLs. |
| Foreign_Key_Cascade | Consumer | Link | When a row is deleted from the referenced table, TiDB automatically deletes all rows from the referencing table that reference the deleted row. This is known as a cascading delete and is implemented by TiDB using the “Foreign_Key_Cascade” operator in its query plans. |
| Foreign_Key_Check | Consumer | Link | Checking foreign key constraints during query execution. |
| HashAgg | Folder | Link | Aggregate data by the hash aggregate algorithm. |
| HashJoin | Join | Link | Join tables with the hash algorithm. |
| IndexFullScan | Producer | Link | Scan indexes only. |
| IndexHashJoin | Join | Link | A variant algorithm to join tables. |
| IndexJoin | Join | Link | The index join is a variant of the nested loop join in database systems using the index. |
| IndexLookUp | Executor | Link | Retrieve data from a secondary index. |
| IndexMerge | Executor | Link | An optimization to merge the data from multiple index-scanned tables. |
| IndexMergeJoin | Join | Link | INDEX-MERGE joins have multiple indexes satisfying the entire query. |
| IndexRangeScan | Producer | Link | Index scans with the specified range. |
| IndexReader | Executor | Link | Read the results from another computing node with indexes. |
| IndexScan | Producer | Link | Scanning data via indexes. |
| Insert | Consumer | Link | Insert data. |
| Join | Join | Link | Unknown Join operation. |
| Limit | Combinator | Link | Limit the number of returned rows. |
| LoadData | Producer | Link | Unknown table scanning operation that never is observed in practice. |
| MaxOneRow | Combinator | Link | At most one row is returned. |
| MemTableScan | Producer | Link | Scan the data in the memory. |
| MergeJoin | Join | Link | Join tables with merge algorithm. |
| PartitionUnion | Combinator | Link | Union tables using partitions. |
| Point_Get | Producer | Link | It retrieves a single row of data from an index using the primary key or a unique secondary index. |
| Projection | Projector | Link | Return specific columns. |
| Selection | Link | This operator is equivalent to the filter property, so we map it to the property. | |
| SelectLock | Executor | Link | Lock target tables to guarantee transition consistency. |
| Set | Executor | Link | Set environmental variables. |
| Show | Executor | Link | Show internal variables. |
| ShowDDLJobs | Executor | Link | Show DDL working status. |
| Shuffle | Executor | Link | It shuffles data into other nodes for parallel computation. |
| ShuffleReceiver | Executor | Link | It collects data from other parallel computing nodes. |
| Sort | Combinator | Link | Sort rows. |
| StreamAgg | Folder | Link | Aggregate ordered data by the stream aggregate algorithm. |
| TableDual | Producer | Link | It returns a single row with no columns. It is often used as a placeholder or a source for default values in SQL statements. |
| TableFullScan | Producer | Link | Full table scan |
| TableRangeScan | Producer | Link | Table scans with the specified range |
| TableReader | Executor | Link | Read the results from another computing node. |
| TableRowIDScan | Producer | Link | Scans the table based on the RowID. |
| TableSample | Producer | Link | Sample part data, instead of scanning all data of a table. |
| TableScan | Producer | Link | Scan the full table. |
| TiKVSingleGather | Executor | Link | It collects data from other parallel TiKV nodes. |
| TopN | Combinator | Link | Sort rows and return top-N rows. |
| Union | Combinator | Link | Union multiple tables. |
| UnionScan | Producer | Link | Unknown scanning operation. |
| Update | Consumer | Link | Update data. |
| Window | Folder | Link | It uses a window function to calculate data. |