We have batch execution support for JDBC and ODBC drivers. This decreases number of network hops. However, we do not have any batch execution support on the server side. It means that for batch of N similar statements, every statement will go through the whole execution chain - parsing, splitting, communication with servers. And while parsing and splitting might be avoided with help of statement cache, the most heavy part - network communication - is still there.
We need to investigate how to optimize the flow for batch updates. Possible improvements:
1) Execute statements with certain degree of parallelism;
2) Send several query execution requests to the server at once;
3) Ensure that caches are used properly for batching - we should not parse the same request multiple times.