# Reads Data - Cont'd 

![`smart`](ExecuteandRead02_aa_005_20220512.png)

-----------------------------------------------------------
Secondly, the execution plan will go through the DistSQL module, transforming it into a series of simple queries, which abstracts and wraps the execution plan that may contain JOIN, SUBQUERY and other complex operators, involving many tables, into multiple single-table query computing tasks. Afterwards, the request is sent to the TiKV Coprocessor through the TiKV Client. Note that a request may involve queries on multiple Regions on multiple TiKVs, so the DistSQL module can send the request in parallel.

After receiving the request, TiKV server will first construct a snapshot, i.e. a data structure at a specific point in time, and the data to be queried must be the closest to this point in time, but cannot be more updated than this point in time.

Next, the thread pool will read data from RocksDB KV. Up to this point, the data requested by the DistSQL module has been read from its TiKV server.

Additionally, if the SQL statement meets the PointGet conditions, then the DistSQL module is not responsible for processing the SQL statement, but the KV module, which is specifically responsible for requests to directly look up values based on keys.


