No data co-location control, i.e. arbitrary data can be returned silently
Low control on how query executes internally, as a result we have limited possibility to implement improvements/fixes.
Limited execution modes: either two-phase execution (default) or "distributed joins" which adds one more phase. This leads t the impossibility "by design" of executing some queries, see
Lack of proper planner which will take in count both data distribution and data statistics
H2 optimizer is very primitive. It can do only predicates push down, join order choosing and also some minor optimizations. It lacks of many useful optimizations like this one