# Data Scaner Operators 

+ Operators in execution plans
  + Aggregate data class operators
  + Scan data class operators
    + `Point Get / Batch Point Get` 
    + `Table Reader` 
    + `Index Reader` 
    + `Index Lookup Reader` 
    + `Index Merge Reader` 
  + Table join class operators
------------------------------------------------------------
- Aggregate data class operators
- Scan data class operators
  - Point Get/Batch Point Get
  - Table Reader
  - Index Reader
  - Index Lookup Reader
  - Index Merge Reader
- Connect data class operators
For operators that scan data classes, we can distinguish from the dimension of whether the object of access is a table or an index.
Point Get operator
In any scenario, Point Get is the optimal table read operator. As we mentioned earlier, Point Get scans are thrown directly into the executor during the optimizer preprocessing stage, and no optimization is required. In the Point Get operator, the optimizer directly calls the kvget interface for computation, and does not need to go through a coprocessor.
Table Reader operator
We can compare the Table Reader operator to the full table scan operator. The Table Reader operator scans data directly from TiKV or TiFlash, and is a relatively inefficient operator compared to other operators. We can avoid the Table Reader operator by building an index.
Index Reader operator
When there are multiple indexes in a table, the optimizer uses estimation to find an index that consumes relatively little. At this time, the index reader operator is generally selected.
Index Lookup Reader operator
The Index lookup reader operator is what we usually call a return table. Because the computed column is not fully included in the index, the table needs to be scanned against _tidb_rowid after reading the index, which is a bit more expensive than IndexReader.
Index Merge Reader operator
The Index Merge Reader operator is a new way to scan data introduced after TiDB v4.0. With this access method, the TiDB optimizer can choose to use multiple indexes on a table and combine the results return by each index. This access method reduces scanning of large amounts of unnecessary data and improves execution efficiency.
