# TiKV Data Reads Process (Continue...)


![`smart`](./student-guide/diagram/TiKVDataReadsHandler_aa_001_20221014.png)
------------------------------------------------------------
Brief description of TiDB read process
  - If it is a non-point query, that is, when request by the Coprocessor, the following will be done
    - After the request is scheduled by the thread pool, the first step is to get a snapshot
    - Build a Handler based on the snapshot to handle this request
    - Use the Handler built in step 2 to handle this request
    - The bottom-most operator TableScan/IndexScan uses Range-Lookup of Snapshot
      - If there is a Block Cache in RocksDB that caches data in memory, it is directly hit and return
      - If Block Cache doesn't hit,
        - MemTable (Mutable/Immutable)
        - Block (Index Block/Data Block), RocksDB uses twoLevelIterator to read the SST File, where first_level_iter is used to read the Index Block, second_level_iter is used Read the data block.
