# Distributed SQL Operations - Cont'd

__*Distributed SQL*__

![`smart`](./student-guide/diagram/TiDBDistSQLFlow_aa_001_20221005.png)

+ Distributed `SQL` vs. `TiKV` 


-------------------------------------------------------------
To keep the compute as close to the storage node as possible to avoid a large number of RPC calls. First, the predicate condition `name = "TiDB"` in SQL should be pushed down to the storage node for computation, so that only valid row are return and meaningless network transfers are avoided. The aggregate function `COUNT(*)` can then also be pushed down to the storage nodes for preaggregation, and each node only needs to return one `COUNT(*)` The results are sufficient, and the results return by each node are `COUNT(*)` summed up by the SQL layer.

